Advanced DB Cleaner

' . $adv_db_cleaner_message . '

'; } ?>
"aDBc-clean","title"=>"Clean Database"), array("id"=>"aDBc-optimize","title"=>"Optimize Database") ); foreach ($aDBc_tab_list as $key => $value){ $checked = ""; if((!isset($_POST["aDBc_clean_form"]) && !isset($_POST["aDBc_optimize_form"]) && $value["id"] == "aDBc-clean") || (isset($_POST["aDBc_optimize_form"]) && $value["id"] == "aDBc-optimize") || (isset($_POST["aDBc_clean_form"]) && $value["id"] == "aDBc-clean")){ $checked = 'checked = "checked"'; } echo ''."\n"; echo ''."\n"; } ?>

get_results($adbc_sql); foreach($result as $row){ $aDBc_tableID += 1; $total_rows += $row->Rows; $table_size = ($row->Data_length + $row->Index_length) / 1024; $total_size += $table_size; $total_lost += $row->Data_free; echo "\n"; } ?>
". $aDBc_tableID ." ". $row->Name ." ". $row->Rows ." ". sprintf("%0.2f", $table_size) ." KB ". ($row->Data_free > 0 ? $row->Data_free . ' o' : '--') ."
KB'; ?> o'; ?>


© By Symptote
posts WHERE post_type = 'revision'"; $wpdb->query($adbc_sql); break; case "draft": $adbc_sql = "DELETE FROM $wpdb->posts WHERE post_status = 'draft'"; $wpdb->query($adbc_sql); break; case "autodraft": $adbc_sql = "DELETE FROM $wpdb->posts WHERE post_status = 'auto-draft'"; $wpdb->query($adbc_sql); break; case "moderated": $adbc_sql = "DELETE FROM $wpdb->comments WHERE comment_approved = '0'"; $wpdb->query($adbc_sql); break; case "spam": $adbc_sql = "DELETE FROM $wpdb->comments WHERE comment_approved = 'spam'"; $wpdb->query($adbc_sql); break; case "trash": $adbc_sql = "DELETE FROM $wpdb->comments WHERE comment_approved = 'trash'"; $wpdb->query($adbc_sql); break; case "postmeta": $adbc_sql = "DELETE pm FROM $wpdb->postmeta pm LEFT JOIN $wpdb->posts wp ON wp.ID = pm.post_id WHERE wp.ID IS NULL"; //$adbc_sql = "DELETE FROM $wpdb->postmeta WHERE NOT EXISTS ( SELECT * FROM $wpdb->posts WHERE $wpdb->postmeta.post_id = $wpdb->posts.ID )"; $wpdb->query($adbc_sql); break; case "commentmeta": $adbc_sql = "DELETE FROM $wpdb->commentmeta WHERE comment_id NOT IN (SELECT comment_id FROM $wpdb->comments)"; $wpdb->query($adbc_sql); break; case "relationships": $adbc_sql = "DELETE FROM $wpdb->term_relationships WHERE term_taxonomy_id=1 AND object_id NOT IN (SELECT id FROM $wpdb->posts)"; $wpdb->query($adbc_sql); break; case "feed": $adbc_sql = "DELETE FROM $wpdb->options WHERE option_name LIKE '_site_transient_browser_%' OR option_name LIKE '_site_transient_timeout_browser_%' OR option_name LIKE '_transient_feed_%' OR option_name LIKE '_transient_timeout_feed_%'"; $wpdb->query($adbc_sql); break; } } function adv_db_cleaner_count($type){ global $wpdb; switch($type){ case "revision": $adbc_sql = "SELECT COUNT(*) FROM $wpdb->posts WHERE post_type = 'revision'"; $count = $wpdb->get_var($adbc_sql); break; case "draft": $adbc_sql = "SELECT COUNT(*) FROM $wpdb->posts WHERE post_status = 'draft'"; $count = $wpdb->get_var($adbc_sql); break; case "autodraft": $adbc_sql = "SELECT COUNT(*) FROM $wpdb->posts WHERE post_status = 'auto-draft'"; $count = $wpdb->get_var($adbc_sql); break; case "moderated": $adbc_sql = "SELECT COUNT(*) FROM $wpdb->comments WHERE comment_approved = '0'"; $count = $wpdb->get_var($adbc_sql); break; case "spam": $adbc_sql = "SELECT COUNT(*) FROM $wpdb->comments WHERE comment_approved = 'spam'"; $count = $wpdb->get_var($adbc_sql); break; case "trash": $adbc_sql = "SELECT COUNT(*) FROM $wpdb->comments WHERE comment_approved = 'trash'"; $count = $wpdb->get_var($adbc_sql); break; case "postmeta": $adbc_sql = "SELECT COUNT(*) FROM $wpdb->postmeta pm LEFT JOIN $wpdb->posts wp ON wp.ID = pm.post_id WHERE wp.ID IS NULL"; //$adbc_sql = "SELECT COUNT(*) FROM $wpdb->postmeta WHERE NOT EXISTS ( SELECT * FROM $wpdb->posts WHERE $wpdb->postmeta.post_id = $wpdb->posts.ID )"; $count = $wpdb->get_var($adbc_sql); break; case "commentmeta": $adbc_sql = "SELECT COUNT(*) FROM $wpdb->commentmeta WHERE comment_id NOT IN (SELECT comment_id FROM $wpdb->comments)"; $count = $wpdb->get_var($adbc_sql); break; case "relationships": $adbc_sql = "SELECT COUNT(*) FROM $wpdb->term_relationships WHERE term_taxonomy_id=1 AND object_id NOT IN (SELECT id FROM $wpdb->posts)"; $count = $wpdb->get_var($adbc_sql); break; case "feed": $adbc_sql = "SELECT COUNT(*) FROM $wpdb->options WHERE option_name LIKE '_site_transient_browser_%' OR option_name LIKE '_site_transient_timeout_browser_%' OR option_name LIKE '_transient_feed_%' OR option_name LIKE '_transient_timeout_feed_%'"; $count = $wpdb->get_var($adbc_sql); break; } return $count; } function adv_db_cleaner_optimize(){ global $wpdb; $adbc_sql = 'SHOW TABLE STATUS FROM `'.DB_NAME.'`'; $result = $wpdb->get_results($adbc_sql); foreach($result as $row){ $adbc_sql = 'OPTIMIZE TABLE '.$row->Name; $wpdb->query($adbc_sql); } } ?>