| 1 |
<?php if (!defined('WPO_VERSION')) die('No direct access allowed'); ?> |
| 2 |
|
| 3 |
<tbody id="the-list"> |
| 4 |
<?php |
| 5 |
|
| 6 |
// Check for InnoDB tables. |
| 7 |
// Check for windows servers. |
| 8 |
$sqlversion = $wp_optimize->get_db_info()->get_version(); |
| 9 |
$tablesstatus = $wp_optimize->get_optimizer()->get_tables(); |
| 10 |
$is_multisite_mode = $wp_optimize->is_multisite_mode(); |
| 11 |
$total_gain = 0; |
| 12 |
$no = 0; |
| 13 |
$row_usage = 0; |
| 14 |
$data_usage = 0; |
| 15 |
$index_usage = 0; |
| 16 |
$overhead_usage = 0; |
| 17 |
$non_inno_db_tables = 0; |
| 18 |
$inno_db_tables = 0; |
| 19 |
$small_overhead_size = 1048576; |
| 20 |
|
| 21 |
foreach ($tablesstatus as $tablestatus) { |
| 22 |
$no++; |
| 23 |
echo '<tr |
| 24 |
data-tablename="'.esc_attr($tablestatus->Name).'" |
| 25 |
data-type="'.esc_attr($tablestatus->Engine).'" |
| 26 |
data-optimizable="'.($tablestatus->is_optimizable ? 1 : 0).'" |
| 27 |
'.($is_multisite_mode ? 'data-blog_id="'.($tablestatus->blog_id).'"' : '').' |
| 28 |
>'."\n"; |
| 29 |
echo '<td data-colname="'.__('No.', 'wp-optimize').'">'.number_format_i18n($no).'</td>'."\n"; |
| 30 |
echo '<td data-tablename="'.esc_attr($tablestatus->Name).'" data-colname="'.__('Table', 'wp-optimize').'">'.htmlspecialchars($tablestatus->Name); |
| 31 |
|
| 32 |
if (!empty($tablestatus->plugin_status)) { |
| 33 |
if ($tablestatus->wp_core_table) { |
| 34 |
echo "<br><span style='font-size: 11px;'>".__('Belongs to:', 'wp-optimize')."</span> "; |
| 35 |
echo "<span style='font-size: 11px;'>".__('WordPress core', 'wp-optimize')."</span>"; |
| 36 |
} elseif (false !== stripos($tablestatus->Name, 'actionscheduler_')) { |
| 37 |
echo "<br><span style='font-size: 11px;'>".__('This table is used by many plugins for batch processing. ', 'wp-optimize')."</span> "; |
| 38 |
echo "<span style='font-size: 11px;'>".__('Thus, it cannot be deleted.', 'wp-optimize')."</span>"; |
| 39 |
} else { |
| 40 |
echo '<div class="table-plugins">'; |
| 41 |
echo "<span style='font-size: 11px;'>".__('Known plugins that use this table name:', 'wp-optimize')."</span> "; |
| 42 |
$separator = '<br>'; |
| 43 |
foreach ($tablestatus->plugin_status as $plugins_status) { |
| 44 |
$plugin = $plugins_status['plugin']; |
| 45 |
$status = $plugins_status['status']; |
| 46 |
|
| 47 |
echo $separator; |
| 48 |
|
| 49 |
echo " <a href='https://wordpress.org/plugins/{$plugin}/' target='_blank'><span style='font-size: 11px;'>{$plugin}</a>"; |
| 50 |
|
| 51 |
if (false == $status['installed']) { |
| 52 |
echo " <span style='font-size: 11px; color: #9B0000; font-weight: bold;'>[".__('not installed', 'wp-optimize')."]</span>"; |
| 53 |
} elseif (false == $status['active']) { |
| 54 |
echo " <span style='font-size: 11px; color: #9B0000; font-weight: bold;'>[".__('inactive', 'wp-optimize')."]</span>"; |
| 55 |
} |
| 56 |
} |
| 57 |
echo '</div>'; |
| 58 |
} |
| 59 |
} |
| 60 |
|
| 61 |
echo "</td>\n"; |
| 62 |
|
| 63 |
echo '<td data-colname="'.__('Records', 'wp-optimize').'" data-raw_value="'.esc_attr(intval($tablestatus->Rows)).'">'.number_format_i18n($tablestatus->Rows).'</td>'."\n"; |
| 64 |
echo '<td data-colname="'.__('Data Size', 'wp-optimize').'" data-raw_value="'.esc_attr(intval($tablestatus->Data_length)).'">'.$wp_optimize->format_size($tablestatus->Data_length).'</td>'."\n"; |
| 65 |
echo '<td data-colname="'.__('Index Size', 'wp-optimize').'" data-raw_value="'.esc_attr(intval($tablestatus->Index_length)).'">'.$wp_optimize->format_size($tablestatus->Index_length).'</td>'."\n"; |
| 66 |
|
| 67 |
if ($tablestatus->is_optimizable) { |
| 68 |
echo '<td data-colname="'.__('Type', 'wp-optimize').'" data-optimizable="1">'.htmlspecialchars($tablestatus->Engine).'</td>'."\n"; |
| 69 |
|
| 70 |
echo '<td data-colname="'.__('Overhead', 'wp-optimize').'" data-raw_value="'.esc_attr(intval($tablestatus->Data_free)).'">'; |
| 71 |
$font_colour = ($optimize_db ? (($tablestatus->Data_free > $small_overhead_size) ? '#0000FF' : '#004600') : (($tablestatus->Data_free > $small_overhead_size) ? '#9B0000' : '#004600')); |
| 72 |
echo '<span style="color:'.$font_colour.';">'; |
| 73 |
echo $wp_optimize->format_size($tablestatus->Data_free); |
| 74 |
echo '</span>'; |
| 75 |
echo '</td>'."\n"; |
| 76 |
|
| 77 |
$overhead_usage += $tablestatus->Data_free; |
| 78 |
$total_gain += $tablestatus->Data_free; |
| 79 |
$non_inno_db_tables++; |
| 80 |
} else { |
| 81 |
echo '<td data-colname="'.__('Type', 'wp-optimize').'" data-optimizable="0">'.htmlspecialchars($tablestatus->Engine).'</td>'."\n"; |
| 82 |
echo '<td data-colname="'.__('Overhead', 'wp-optimize').'">'; |
| 83 |
echo '<span style="color:#0000FF;">-</span>'; |
| 84 |
echo '</td>'."\n"; |
| 85 |
|
| 86 |
$inno_db_tables++; |
| 87 |
} |
| 88 |
|
| 89 |
echo '<td data-colname="'.__('Actions', 'wp-optimize').'">'.apply_filters('wpo_tables_list_additional_column_data', '', $tablestatus).'</td>'; |
| 90 |
|
| 91 |
$row_usage += $tablestatus->Rows; |
| 92 |
$data_usage += $tablestatus->Data_length; |
| 93 |
$index_usage += $tablestatus->Index_length; |
| 94 |
|
| 95 |
echo '</tr>'."\n"; |
| 96 |
} |
| 97 |
|
| 98 |
// THis extra tbody with class of tablesorter-no-sort |
| 99 |
// Is for tablesorter and it will not allow the total bar |
| 100 |
// At the bottom of the table information to be sorted with the rest of the data |
| 101 |
echo '<tbody class="tablesorter-no-sort">'."\n"; |
| 102 |
|
| 103 |
echo '<tr class="thead">'."\n"; |
| 104 |
echo '<th>'.__('Total:', 'wp-optimize').'</th>'."\n"; |
| 105 |
echo '<th>'.sprintf(_n('%s Table', '%s Tables', $no, 'wp-optimize'), number_format_i18n($no)).'</th>'."\n"; |
| 106 |
echo '<th>'.number_format_i18n($row_usage).'</th>'."\n"; |
| 107 |
echo '<th>'.$wp_optimize->format_size($data_usage).'</th>'."\n"; |
| 108 |
echo '<th>'.$wp_optimize->format_size($index_usage).'</th>'."\n"; |
| 109 |
echo '<th>'.'-'.'</th>'."\n"; |
| 110 |
echo '<th>'; |
| 111 |
|
| 112 |
$font_colour = (($optimize_db) ? (($overhead_usage > $small_overhead_size) ? '#0000FF' : '#004600') : (($overhead_usage > $small_overhead_size) ? '#9B0000' : '#004600')); |
| 113 |
|
| 114 |
echo '<span style="color:'.$font_colour.'">'.$wp_optimize->format_size($overhead_usage).'</span>'; |
| 115 |
|
| 116 |
?> |
| 117 |
</th> |
| 118 |
<th><?php _e('Actions', 'wp-optimize'); ?></th> |
| 119 |
</tr> |
| 120 |
</tbody> |
| 121 |
|