'.$lang['L_DB'].' '.$databases['Name'][$i].' '.$lang['L_INFO_CLEARED'].'

'; break; } if (isset($_POST['kill'.$i])) { $res = mysqli_query($config['dbconnection'], 'DROP DATABASE `'.$databases['Name'][$i].'`') or exit(mysqli_error($config['dbconnection'])); $dba = '

'.$lang['L_DB'].' '.$databases['Name'][$i].' '.$lang['L_INFO_DELETED'].'

'; SetDefault(); include $config['files']['parameter']; echo ''; break; } if (isset($_POST['optimize'.$i])) { mysqli_select_db($config['dbconnection'], $databases['Name'][$i]); $res = mysqli_query($config['dbconnection'], 'SHOW TABLES FROM `'.$databases['Name'][$i].'`'); $tabellen = ''; while ($row = mysqli_fetch_row($res)) { $tabellen .= '`'.$row[0].'`,'; } $tabellen = substr($tabellen, 0, (strlen($tabellen) - 1)); if ($tabellen > '') { $query = 'OPTIMIZE TABLE '.$tabellen; $res = mysqli_query($config['dbconnection'], $query) or exit(mysqli_error($config['dbconnection']).''); } $_GET['dbid'] = $i; $dba = '

'.$lang['L_DB'].' '.$databases['Name'][$i].' '.$lang['L_INFO_OPTIMIZED'].'.

'; break; } if (isset($_POST['check'.$i])) { $checkit = 'ALL'; $_GET['dbid'] = $i; } if (isset($_POST['enableKeys'.$i])) { $enableKeys = 'ALL'; $_GET['dbid'] = $i; } } //list databases $tpl = new MODTemplate(); $tpl->set_filenames([ 'show' => './tpl/home/databases_list_dbs.tpl', ]); $tpl->assign_vars([ 'ICONPATH' => $config['files']['iconpath'], ]); if (!isset($config['dbconnection'])) { mod_mysqli_connect(); } for ($i = 0; $i < count($databases['Name']); ++$i) { $rowclass = ($i % 2) ? 'dbrow' : 'dbrow1'; if ($i == $databases['db_selected_index']) { $rowclass = 'dbrowsel'; } //gibts die Datenbank überhaupt? if (!mysqli_select_db($config['dbconnection'], $databases['Name'][$i])) { $tpl->assign_block_vars('DB_NOT_FOUND', [ 'ROWCLASS' => $rowclass, 'NR' => ($i + 1), 'DB_NAME' => $databases['Name'][$i], 'DB_ID' => $i, ]); } else { mysqli_select_db($config['dbconnection'], $databases['Name'][$i]); $tabellen = mysqli_query($config['dbconnection'], 'SHOW TABLES FROM `'.$databases['Name'][$i].'`'); $num_tables = mysqli_num_rows($tabellen); $tpl->assign_block_vars('ROW', [ 'ROWCLASS' => $rowclass, 'NR' => ($i + 1), 'DB_NAME' => $databases['Name'][$i], 'DB_ID' => $i, 'TABLE_COUNT' => $num_tables, ]); if (1 == $num_tables) { $tpl->assign_block_vars('ROW.TABLE', []); } else { $tpl->assign_block_vars('ROW.TABLES', []); } } } $tpl->pparse('show'); //list tables of selected database if (isset($_GET['dbid'])) { $disabled_keys_found = false; // Output list of tables of the selected database $tpl = new MODTemplate(); $tpl->set_filenames([ 'show' => 'tpl/home/databases_list_tables.tpl', ]); $dbid = $_GET['dbid']; $numrows = 0; $res = mysqli_query($config['dbconnection'], 'SHOW TABLE STATUS FROM `'.$databases['Name'][$dbid].'`'); mysqli_select_db($config['dbconnection'], $databases['Name'][$dbid]); if ($res) { $numrows = mysqli_num_rows($res); } $tpl->assign_vars([ 'DB_NAME' => $databases['Name'][$dbid], 'DB_NAME_URLENCODED' => urlencode($databases['Name'][$dbid]), 'DB_ID' => $dbid, 'TABLE_COUNT' => $numrows, 'ICONPATH' => $config['files']['iconpath'], ]); $numrows = intval($numrows); if ($numrows > 1) { $tpl->assign_block_vars('MORE_TABLES', []); } elseif (1 == $numrows) { $tpl->assign_block_vars('1_TABLE', []); } elseif (0 == $numrows) { $tpl->assign_block_vars('NO_TABLE', []); } if ($numrows > 0) { $last_update = '2000-01-01 00:00:00'; $sum_records = $sum_data_length = 0; for ($i = 0; $i < $numrows; ++$i) { $row = mysqli_fetch_array($res, MYSQLI_ASSOC); // Get nr of records -> need to do it this way because of incorrect returns when using InnoDBs $sql_2 = 'SELECT count(*) as `count_records` FROM `'.$databases['Name'][$dbid].'`.`'.$row['Name'].'`'; $res2 = mysqli_query($config['dbconnection'], $sql_2); if (false === $res2) { $row['Rows'] = 0; $rowclass = 'dbrowsel'; } else { $row2 = mysqli_fetch_array($res2); $row['Rows'] = $row2['count_records']; $rowclass = ($i % 2) ? 'dbrow' : 'dbrow1'; } if (isset($row['Update_time']) && strtotime($row['Update_time']) > strtotime($last_update)) { $last_update = $row['Update_time']; } $sum_records += $row['Rows']; $sum_data_length += $row['Data_length'] + $row['Index_length']; $keys_disabled = false; if ('MyIsam' == $row['Engine']) { } $tpl->assign_block_vars('ROW', [ 'ROWCLASS' => $rowclass, 'NR' => ($i + 1), 'TABLE_NAME' => $row['Name'], 'TABLE_NAME_URLENCODED' => urlencode($row['Name']), 'RECORDS' => $row['Rows'], 'SIZE' => byte_output($row['Data_length'] + $row['Index_length']), 'LAST_UPDATE' => $row['Update_time'], 'ENGINE' => $row['Engine'], ]); // Otimize & Repair - only for MyISAM-Tables if ('MyISAM' == $row['Engine']) { if (0 == $row['Data_free']) { $tpl->assign_block_vars('ROW.OPTIMIZED', []); } else { $tpl->assign_block_vars('ROW.NOT_OPTIMIZED', []); } if ($checkit == $row['Name'] || 1 == $repair) { $tmp_res = mysqli_query($config['dbconnection'], 'REPAIR TABLE `'.$row['Name'].'`'); } if (($checkit == $row['Name'] || 'ALL' == $checkit)) { // table needs to be checked $tmp_res = mysqli_query($config['dbconnection'], 'CHECK TABLE `'.$row['Name'].'`'); if ($tmp_res) { $tmp_row = mysqli_fetch_row($tmp_res); if ('OK' == $tmp_row[3]) { $tpl->assign_block_vars('ROW.CHECK_TABLE_OK', []); } else { $tpl->assign_block_vars('ROW.CHECK_TABLE_NOT_OK', []); } } } else { // Show Check table link $tpl->assign_block_vars('ROW.CHECK_TABLE', []); } if ($enableKeys == $row['Name'] || 'ALL' == $enableKeys) { $sSql = 'ALTER TABLE `'.$databases['Name'][$dbid].'`.`'.$row['Name'].'` ENABLE KEYS'; $tmp_res = mysqli_query($config['dbconnection'], $sSql); } $res3 = mysqli_query($config['dbconnection'], 'SHOW INDEX FROM `'.$databases['Name'][$dbid].'`.`'.$row['Name'].'`'); while ($row3 = mysqli_fetch_array($res3, MYSQLI_ASSOC)) { if ('disabled' == $row3['Comment']) { $keys_disabled = true; $disabled_keys_found = true; } } if ($keys_disabled) { $tpl->assign_block_vars('ROW.KEYS_DISABLED', []); } else { $tpl->assign_block_vars('ROW.KEYS_ENABLED', []); } } } // Output sum-row $tpl->assign_block_vars('SUM', [ 'RECORDS' => number_format($sum_records, 0, ',', '.'), 'SIZE' => byte_output($sum_data_length), 'LAST_UPDATE' => $last_update, ]); if ($disabled_keys_found) { $tpl->assign_block_vars('DISABLED_KEYS_FOUND', []); } } $tpl->pparse('show'); }