| 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="'.esc_attr($tablestatus->blog_id).'"' : '').' |
| 28 |
>'."\n"; |
| 29 |
echo '<td data-colname="'.esc_attr__('No.', 'wp-optimize').'">'.esc_html(number_format_i18n($no)).'</td>'."\n"; |
| 30 |
echo '<td data-tablename="'.esc_attr($tablestatus->Name).'" data-colname="'.esc_attr__('Table', 'wp-optimize').'">'.esc_html($tablestatus->Name); |
| 31 |
|
| 32 |
if (!empty($tablestatus->plugin_status)) { |
| 33 |
if ($tablestatus->wp_core_table) { |
| 34 |
echo "<br><span style='font-size: 11px;'>".esc_html__('Belongs to:', 'wp-optimize')."</span> "; |
| 35 |
echo "<span style='font-size: 11px;'>".esc_html__('WordPress core', 'wp-optimize')."</span>"; |
| 36 |
} elseif (false !== stripos($tablestatus->Name, 'actionscheduler_')) { |
| 37 |
$message = __('This table is used by many plugins for batch processing.', 'wp-optimize'); |
| 38 |
$message .= ' '; |
| 39 |
echo "<br><span style='font-size: 11px;'>". esc_html($message) ."</span> "; |
| 40 |
echo "<span style='font-size: 11px;'>".esc_html__('Thus, it cannot be deleted.', 'wp-optimize')."</span>"; |
| 41 |
} else { |
| 42 |
echo '<div class="table-plugins">'; |
| 43 |
echo "<span style='font-size: 11px;'>".esc_html__('Known plugins that use this table name:', 'wp-optimize')."</span> "; |
| 44 |
foreach ($tablestatus->plugin_status as $plugins_status) { |
| 45 |
$plugin = $plugins_status['plugin']; |
| 46 |
$status = $plugins_status['status']; |
| 47 |
|
| 48 |
echo '<br>'; |
| 49 |
|
| 50 |
$closed_plugins = array('404-monitor', 'redirections'); |
| 51 |
|
| 52 |
if (in_array($plugin, $closed_plugins)) { |
| 53 |
continue; |
| 54 |
} |
| 55 |
|
| 56 |
if ('sfwd-lms' === $plugin) { |
| 57 |
$wp_optimize->wp_optimize_url('https://www.learndash.com/', '', '<span style="font-size: 11px;">LearnDash</span>'); |
| 58 |
} else { |
| 59 |
$wp_optimize->wp_optimize_url('https://wordpress.org/plugins/'.$plugin.'/', '', '<span style="font-size: 11px;">'.esc_html($plugin).'</span>'); |
| 60 |
} |
| 61 |
|
| 62 |
if (false == $status['installed']) { |
| 63 |
echo ' <span style="font-size: 11px; color: #9B0000; font-weight: bold;">['.esc_html__('not installed', 'wp-optimize').']</span>'; |
| 64 |
} elseif (false == $status['active']) { |
| 65 |
echo ' <span style="font-size: 11px; color: #9B0000; font-weight: bold;">['.esc_html__('inactive', 'wp-optimize').']</span>'; |
| 66 |
} |
| 67 |
} |
| 68 |
echo '</div>'; |
| 69 |
} |
| 70 |
} |
| 71 |
|
| 72 |
echo "</td>\n"; |
| 73 |
|
| 74 |
echo '<td data-colname="'.esc_attr__('Records', 'wp-optimize').'" data-raw_value="'.esc_attr(intval($tablestatus->Rows)).'">'.esc_html(number_format_i18n($tablestatus->Rows)).'</td>'."\n"; |
| 75 |
echo '<td data-colname="'.esc_attr__('Data Size', 'wp-optimize').'" data-raw_value="'.esc_attr(intval($tablestatus->Data_length)).'">'. esc_html($wp_optimize->format_size($tablestatus->Data_length)).'</td>'."\n"; |
| 76 |
echo '<td data-colname="'.esc_attr__('Index Size', 'wp-optimize').'" data-raw_value="'.esc_attr(intval($tablestatus->Index_length)).'">'. esc_html($wp_optimize->format_size($tablestatus->Index_length)).'</td>'."\n"; |
| 77 |
|
| 78 |
if ($tablestatus->is_optimizable) { |
| 79 |
echo '<td data-colname="'.esc_attr__('Type', 'wp-optimize').'" data-optimizable="1">'.esc_html($tablestatus->Engine).'</td>'."\n"; |
| 80 |
|
| 81 |
echo '<td data-colname="'.esc_attr__('Overhead', 'wp-optimize').'" data-raw_value="'.esc_attr(intval($tablestatus->Data_free)).'">'; |
| 82 |
$font_colour = ($optimize_db ? (($tablestatus->Data_free > $small_overhead_size) ? '#0000FF' : '#004600') : (($tablestatus->Data_free > $small_overhead_size) ? '#9B0000' : '#004600')); |
| 83 |
echo '<span style="color:'. esc_attr($font_colour) .';">'; |
| 84 |
echo esc_html($wp_optimize->format_size($tablestatus->Data_free)); |
| 85 |
echo '</span>'; |
| 86 |
echo '</td>'."\n"; |
| 87 |
|
| 88 |
$overhead_usage += $tablestatus->Data_free; |
| 89 |
$total_gain += $tablestatus->Data_free; |
| 90 |
$non_inno_db_tables++; |
| 91 |
} else { |
| 92 |
echo '<td data-colname="'.esc_attr__('Type', 'wp-optimize').'" data-optimizable="0">'.esc_html($tablestatus->Engine).'</td>'."\n"; |
| 93 |
echo '<td data-colname="'.esc_attr__('Overhead', 'wp-optimize').'">'; |
| 94 |
echo '<span style="color:#0000FF;">-</span>'; |
| 95 |
echo '</td>'."\n"; |
| 96 |
|
| 97 |
$inno_db_tables++; |
| 98 |
} |
| 99 |
|
| 100 |
echo '<td data-colname="'.esc_attr__('Actions', 'wp-optimize').'">'. apply_filters('wpo_tables_list_additional_column_data', '', $tablestatus) .'</td>'; |
| 101 |
|
| 102 |
$row_usage += $tablestatus->Rows; |
| 103 |
$data_usage += $tablestatus->Data_length; |
| 104 |
$index_usage += $tablestatus->Index_length; |
| 105 |
|
| 106 |
echo '</tr>'."\n"; |
| 107 |
} |
| 108 |
|
| 109 |
// THis extra tbody with class of tablesorter-no-sort |
| 110 |
// Is for tablesorter and it will not allow the total bar |
| 111 |
// At the bottom of the table information to be sorted with the rest of the data |
| 112 |
echo '<tbody class="tablesorter-no-sort">'."\n"; |
| 113 |
|
| 114 |
echo '<tr class="thead">'."\n"; |
| 115 |
echo '<th>'.esc_html__('Total:', 'wp-optimize').'</th>'."\n"; |
| 116 |
echo '<th>'.esc_html(sprintf(_n('%s Table', '%s Tables', $no, 'wp-optimize'), number_format_i18n($no))).'</th>'."\n"; |
| 117 |
echo '<th>'.esc_html(number_format_i18n($row_usage)).'</th>'."\n"; |
| 118 |
echo '<th>'.esc_html($wp_optimize->format_size($data_usage)).'</th>'."\n"; |
| 119 |
echo '<th>'.esc_html($wp_optimize->format_size($index_usage)).'</th>'."\n"; |
| 120 |
echo '<th>'.'-'.'</th>'."\n"; |
| 121 |
echo '<th>'; |
| 122 |
|
| 123 |
$font_colour = (($optimize_db) ? (($overhead_usage > $small_overhead_size) ? '#0000FF' : '#004600') : (($overhead_usage > $small_overhead_size) ? '#9B0000' : '#004600')); |
| 124 |
|
| 125 |
echo '<span style="color:'.esc_attr($font_colour).'">'.esc_html($wp_optimize->format_size($overhead_usage)).'</span>'; |
| 126 |
|
| 127 |
?> |
| 128 |
</th> |
| 129 |
<th><?php esc_html_e('Actions', 'wp-optimize'); ?></th> |
| 130 |
</tr> |
| 131 |
</tbody> |
| 132 |
|