Version Description
Download this release
Release Info
Developer | symptote |
Plugin | Advanced Database Cleaner |
Version | 1.1.0 |
Comparing to | |
See all releases |
Code changes from version 1.0.0 to 1.1.0
- README.txt +22 -13
- advanced-db-cleaner-admin.php +234 -73
- advanced-db-cleaner.php +3 -12
- css/index.php +3 -0
- css/style.css +129 -0
- index.php +3 -0
- screenshot-1.png +0 -0
- screenshot-2.png +0 -0
README.txt
CHANGED
@@ -1,33 +1,42 @@
|
|
1 |
=== Advanced Database Cleaner ===
|
2 |
Contributors: symptote
|
3 |
-
Tags: wordpress database cleaner, clean database, database, clean, cleaner, delete orphan data, delete revisions, delete draft, delete trash, delete spam, delete auto drfat, delete postmeta, commentmeta, relationships, transient feed, optimize database, optimize
|
4 |
Requires at least: 2.7
|
5 |
Tested up to: 4.3
|
6 |
-
Stable tag: 1.
|
7 |
License: GPLv2 or later
|
8 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
9 |
|
10 |
-
Advanced Database Cleaner helps you remove all unused data such as "draft", "
|
11 |
|
12 |
== Description ==
|
13 |
-
|
14 |
-
|
15 |
-
|
16 |
-
|
17 |
-
|
|
|
|
|
|
|
|
|
|
|
18 |
|
19 |
== Installation ==
|
20 |
This section describes how to install the plugin and get it working.
|
21 |
|
22 |
-
|
23 |
-
|
24 |
-
1. Download and extract 'advanced-db-cleaner' to 'wp-content/plugins/'
|
25 |
2. In wordpress 'Plugins' page, choose 'Activate'
|
26 |
-
3. Go to "Dashboard" -> "Settings" -> "
|
27 |
|
28 |
== Screenshots ==
|
29 |
-
1.
|
|
|
30 |
|
31 |
== Changelog ==
|
|
|
|
|
|
|
|
|
|
|
32 |
= 1.0.0 =
|
33 |
* First release
|
1 |
=== Advanced Database Cleaner ===
|
2 |
Contributors: symptote
|
3 |
+
Tags: plugin, plugins, plugin wordpress, wordpress, database cleaner, clean database, database clean, database, clean, cleaner, delete orphan data, delete revisions, delete draft, delete trash, delete spam, delete auto drfat, delete postmeta, delete commentmeta, delete relationships, delete transient feed, optimize database, database optimize, optimize, admin
|
4 |
Requires at least: 2.7
|
5 |
Tested up to: 4.3
|
6 |
+
Stable tag: 1.1.0
|
7 |
License: GPLv2 or later
|
8 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
9 |
|
10 |
+
Advanced Database Cleaner helps you remove all unused data such as "draft", "revision", etc. It helps also optimize your database.
|
11 |
|
12 |
== Description ==
|
13 |
+
|
14 |
+
<h4>Description</h4>
|
15 |
+
<br>
|
16 |
+
Advanced Database Cleaner is a must-have plugin that cleans your WP database by:<br><br>
|
17 |
+
1. Removing unused data such as "revision", "draft", "auto draft", "moderated comments", "spam comments", "trash comments", "orphan postmeta", "orphan commentmeta", "orphan relationships", "dashboard transient feed".<br>
|
18 |
+
2. It helps you optimize your Wordpress database and save space of your MySQL DB.
|
19 |
+
<br><br>
|
20 |
+
* It cleans your database by one click.<br>
|
21 |
+
* The settings page allows you choose what data should be cleaned.<br>
|
22 |
+
* It is a must-have plugin to keep your database clean.<br>
|
23 |
|
24 |
== Installation ==
|
25 |
This section describes how to install the plugin and get it working.
|
26 |
|
27 |
+
1. Download and extract 'advanced-database-cleaner' to 'wp-content/plugins/'
|
|
|
|
|
28 |
2. In wordpress 'Plugins' page, choose 'Activate'
|
29 |
+
3. Go to "Dashboard" -> "Settings" -> "Database Cleaner"
|
30 |
|
31 |
== Screenshots ==
|
32 |
+
1. "Clean database" admin page screenshot
|
33 |
+
2. "Optimize database" admin page screenshot
|
34 |
|
35 |
== Changelog ==
|
36 |
+
|
37 |
+
= 1.5.0 =
|
38 |
+
* Some optimizations and style modifications
|
39 |
+
* Adding "Optimize Database"
|
40 |
+
|
41 |
= 1.0.0 =
|
42 |
* First release
|
advanced-db-cleaner-admin.php
CHANGED
@@ -1,12 +1,24 @@
|
|
1 |
<?php
|
|
|
|
|
2 |
|
3 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4 |
|
5 |
-
|
6 |
-
function
|
7 |
-
|
8 |
}
|
9 |
|
|
|
10 |
function adv_db_cleaner_page(){
|
11 |
?>
|
12 |
<div class="wrap">
|
@@ -20,80 +32,219 @@ function adv_db_cleaner_page(){
|
|
20 |
}
|
21 |
$adv_db_cleaner_message = __('Your database is now cleaned.', 'advanced-db-cleaner');
|
22 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
23 |
if($adv_db_cleaner_message != ''){
|
24 |
echo '<div id="adbc_message" class="updated settings-error notice is-dismissible"><p><strong>' . $adv_db_cleaner_message . '</strong></p></div>';
|
25 |
}
|
26 |
?>
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
-
<
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
|
75 |
-
|
76 |
-
|
77 |
-
|
78 |
-
|
79 |
-
|
80 |
-
|
81 |
-
|
82 |
-
|
83 |
-
|
84 |
-
|
85 |
-
|
86 |
-
|
87 |
-
|
88 |
-
|
89 |
-
|
90 |
-
|
91 |
-
|
92 |
-
|
93 |
-
|
94 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
95 |
<br />
|
96 |
-
|
|
|
97 |
</div>
|
98 |
<?php
|
99 |
}
|
@@ -192,4 +343,14 @@ function adv_db_cleaner_count($type){
|
|
192 |
}
|
193 |
return $count;
|
194 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
195 |
?>
|
1 |
<?php
|
2 |
+
add_action('admin_init', 'adv_db_cleaner_register_styles' );
|
3 |
+
add_action('admin_menu', 'adv_db_cleaner_add_admin_menu');
|
4 |
|
5 |
+
// Add 'DB Cleaner' to Wordpress settings menu
|
6 |
+
function adv_db_cleaner_add_admin_menu() {
|
7 |
+
$hook_adv_db_cleaner = add_options_page('Advanced DB Cleaner Options', 'Database Cleaner','manage_options', __FILE__, 'adv_db_cleaner_page');
|
8 |
+
add_action('admin_print_styles-' . $hook_adv_db_cleaner, 'adv_db_cleaner_enqueue_styles');
|
9 |
+
}
|
10 |
+
|
11 |
+
/* Register stylesheet. */
|
12 |
+
function adv_db_cleaner_register_styles() {
|
13 |
+
wp_register_style('adv_db_cleaner_css', plugins_url() .'/'. dirname(plugin_basename(__FILE__)) . '/css/style.css');
|
14 |
+
}
|
15 |
|
16 |
+
/* Enqueue stylesheet. */
|
17 |
+
function adv_db_cleaner_enqueue_styles() {
|
18 |
+
wp_enqueue_style( 'adv_db_cleaner_css' );
|
19 |
}
|
20 |
|
21 |
+
/* The admin page content */
|
22 |
function adv_db_cleaner_page(){
|
23 |
?>
|
24 |
<div class="wrap">
|
32 |
}
|
33 |
$adv_db_cleaner_message = __('Your database is now cleaned.', 'advanced-db-cleaner');
|
34 |
}
|
35 |
+
|
36 |
+
if(isset($_POST['aDBc_optimize_form'])){
|
37 |
+
adv_db_cleaner_optimize();
|
38 |
+
$adv_db_cleaner_message = __('Your database is now optimized.', 'advanced-db-cleaner');
|
39 |
+
}
|
40 |
+
|
41 |
if($adv_db_cleaner_message != ''){
|
42 |
echo '<div id="adbc_message" class="updated settings-error notice is-dismissible"><p><strong>' . $adv_db_cleaner_message . '</strong></p></div>';
|
43 |
}
|
44 |
?>
|
45 |
+
|
46 |
+
|
47 |
+
<div class="tabBox">
|
48 |
+
<?php
|
49 |
+
$aDBc_tab_list = array(
|
50 |
+
array("id"=>"aDBc-clean","title"=>"Clean Database"),
|
51 |
+
array("id"=>"aDBc-optimize","title"=>"Optimize Database")
|
52 |
+
);
|
53 |
+
|
54 |
+
foreach ($aDBc_tab_list as $key => $value){
|
55 |
+
$checked = "";
|
56 |
+
if((!isset($_POST["aDBc_clean_form"]) && !isset($_POST["aDBc_optimize_form"]) && $value["id"] == "aDBc-clean")
|
57 |
+
|| (isset($_POST["aDBc_optimize_form"]) && $value["id"] == "aDBc-optimize")
|
58 |
+
|| (isset($_POST["aDBc_clean_form"]) && $value["id"] == "aDBc-clean")){
|
59 |
+
$checked = 'checked = "checked"';
|
60 |
+
}
|
61 |
+
echo '<input '.$checked.' type="radio" id="'.$value["id"].'" name="tabGroup1">'."\n";
|
62 |
+
echo '<label for="'.$value["id"].'">'.$value["title"].'</label>'."\n";
|
63 |
+
}
|
64 |
+
?>
|
65 |
+
|
66 |
+
<div class="tab1">
|
67 |
+
<form action="" method="post">
|
68 |
+
<p>
|
69 |
+
<table class="widefat" style="border: 0px; box-shadow: 0 1px 0px #ccc;">
|
70 |
+
<thead>
|
71 |
+
<tr>
|
72 |
+
<th scope="col"><b><?php _e('Type','advanced-db-cleaner'); ?></b></th>
|
73 |
+
<th scope="col"><b><?php _e('Count','advanced-db-cleaner'); ?></b></th>
|
74 |
+
<th scope="col"><b><?php _e('Select','advanced-db-cleaner'); ?></b></th>
|
75 |
+
</tr>
|
76 |
+
</thead>
|
77 |
+
<tbody id="the-list">
|
78 |
+
<tr class="alternate">
|
79 |
+
<td class="column-name"><?php _e('Revision','advanced-db-cleaner'); ?></td>
|
80 |
+
<td class="column-name aDBcCount"><?php echo adv_db_cleaner_count('revision'); ?></td>
|
81 |
+
<td class="column-name">
|
82 |
+
<div class="squaredFour">
|
83 |
+
<input id="aDBc_check1" type="checkbox" name="adbc_post_type[]" value="revision" />
|
84 |
+
<label for="aDBc_check1"></label>
|
85 |
+
</div>
|
86 |
+
</td>
|
87 |
+
</tr>
|
88 |
+
<tr class="alternate">
|
89 |
+
<td class="column-name"><?php _e('Draft','advanced-db-cleaner'); ?></td>
|
90 |
+
<td class="column-name aDBcCount"><?php echo adv_db_cleaner_count('draft'); ?></td>
|
91 |
+
<td class="column-name">
|
92 |
+
<div class="squaredFour">
|
93 |
+
<input id="aDBc_check2" type="checkbox" name="adbc_post_type[]" value="draft" />
|
94 |
+
<label for="aDBc_check2"></label>
|
95 |
+
</div>
|
96 |
+
</td>
|
97 |
+
</tr>
|
98 |
+
<tr class="alternate">
|
99 |
+
<td class="column-name"><?php _e('Auto Draft','advanced-db-cleaner'); ?></td>
|
100 |
+
<td class="column-name aDBcCount"><?php echo adv_db_cleaner_count('autodraft'); ?></td>
|
101 |
+
<td class="column-name">
|
102 |
+
<div class="squaredFour">
|
103 |
+
<input id="aDBc_check3" type="checkbox" name="adbc_post_type[]" value="autodraft" />
|
104 |
+
<label for="aDBc_check3"></label>
|
105 |
+
</div>
|
106 |
+
</td>
|
107 |
+
</tr>
|
108 |
+
<tr class="alternate">
|
109 |
+
<td class="column-name"><?php _e('Moderated Comments','advanced-db-cleaner'); ?></td>
|
110 |
+
<td class="column-name aDBcCount"><?php echo adv_db_cleaner_count('moderated'); ?></td>
|
111 |
+
<td class="column-name">
|
112 |
+
<div class="squaredFour">
|
113 |
+
<input id="aDBc_check4" type="checkbox" name="adbc_post_type[]" value="moderated" />
|
114 |
+
<label for="aDBc_check4"></label>
|
115 |
+
</div>
|
116 |
+
</td>
|
117 |
+
</tr>
|
118 |
+
<tr class="alternate">
|
119 |
+
<td class="column-name"><?php _e('Spam Comments','advanced-db-cleaner'); ?></td>
|
120 |
+
<td class="column-name aDBcCount"><?php echo adv_db_cleaner_count('spam'); ?></td>
|
121 |
+
<td class="column-name">
|
122 |
+
<div class="squaredFour">
|
123 |
+
<input id="aDBc_check5" type="checkbox" name="adbc_post_type[]" value="spam" />
|
124 |
+
<label for="aDBc_check5"></label>
|
125 |
+
</div>
|
126 |
+
</td>
|
127 |
+
</tr>
|
128 |
+
<tr class="alternate">
|
129 |
+
<td class="column-name"><?php _e('Trash Comments','advanced-db-cleaner'); ?></td>
|
130 |
+
<td class="column-name aDBcCount"><?php echo adv_db_cleaner_count('trash'); ?></td>
|
131 |
+
<td class="column-name">
|
132 |
+
<div class="squaredFour">
|
133 |
+
<input id="aDBc_check6" type="checkbox" name="adbc_post_type[]" value="trash" />
|
134 |
+
<label for="aDBc_check6"></label>
|
135 |
+
</div>
|
136 |
+
</td>
|
137 |
+
</tr>
|
138 |
+
<tr class="alternate">
|
139 |
+
<td class="column-name"><?php _e('Orphan Postmeta','advanced-db-cleaner'); ?></td>
|
140 |
+
<td class="column-name aDBcCount"><?php echo adv_db_cleaner_count('postmeta'); ?></td>
|
141 |
+
<td class="column-name">
|
142 |
+
<div class="squaredFour">
|
143 |
+
<input id="aDBc_check7" type="checkbox" name="adbc_post_type[]" value="postmeta" />
|
144 |
+
<label for="aDBc_check7"></label>
|
145 |
+
</div>
|
146 |
+
</td>
|
147 |
+
</tr>
|
148 |
+
<tr class="alternate">
|
149 |
+
<td class="column-name"><?php _e('Orphan Commentmeta','advanced-db-cleaner'); ?></td>
|
150 |
+
<td class="column-name aDBcCount"><?php echo adv_db_cleaner_count('commentmeta'); ?></td>
|
151 |
+
<td class="column-name">
|
152 |
+
<div class="squaredFour">
|
153 |
+
<input id="aDBc_check8" type="checkbox" name="adbc_post_type[]" value="commentmeta" />
|
154 |
+
<label for="aDBc_check8"></label>
|
155 |
+
</div>
|
156 |
+
</td>
|
157 |
+
</tr>
|
158 |
+
<tr class="alternate">
|
159 |
+
<td class="column-name"><?php _e('Orphan Relationships','advanced-db-cleaner'); ?></td>
|
160 |
+
<td class="column-name aDBcCount"><?php echo adv_db_cleaner_count('relationships'); ?></td>
|
161 |
+
<td class="column-name">
|
162 |
+
<div class="squaredFour">
|
163 |
+
<input id="aDBc_check9" type="checkbox" name="adbc_post_type[]" value="relationships" />
|
164 |
+
<label for="aDBc_check9"></label>
|
165 |
+
</div>
|
166 |
+
</td>
|
167 |
+
</tr>
|
168 |
+
<tr class="alternate">
|
169 |
+
<td class="column-name"><?php _e('Dashboard Transient Feed','advanced-db-cleaner'); ?></td>
|
170 |
+
<td class="column-name aDBcCount"><?php echo adv_db_cleaner_count('feed'); ?></td>
|
171 |
+
<td class="column-name">
|
172 |
+
<div class="squaredFour">
|
173 |
+
<input id="aDBc_check10" type="checkbox" name="adbc_post_type[]" value="feed" />
|
174 |
+
<label for="aDBc_check10"></label>
|
175 |
+
</div>
|
176 |
+
</td>
|
177 |
+
</tr>
|
178 |
+
</tbody>
|
179 |
+
</table>
|
180 |
+
</p>
|
181 |
+
<p>
|
182 |
+
<input type="hidden" name="aDBc_clean_form" value="" />
|
183 |
+
<input type="submit" class="button-primary" value="<?php _e('Delete selected items','advanced-db-cleaner'); ?>" />
|
184 |
+
</p>
|
185 |
+
</form>
|
186 |
+
</div>
|
187 |
+
|
188 |
+
<div class="tab2">
|
189 |
+
<form action="" method="post">
|
190 |
+
<p>
|
191 |
+
<table class="widefat" style="border: 0px; box-shadow: 0 1px 0px #ccc;">
|
192 |
+
<thead>
|
193 |
+
<tr>
|
194 |
+
<th scope="col"><b><?php _e('#','advanced-db-cleaner'); ?></b></th>
|
195 |
+
<th scope="col"><b><?php _e('Table','advanced-db-cleaner'); ?></b></th>
|
196 |
+
<th scope="col" style="text-align:right; width:80px"><b><?php _e('Rows','advanced-db-cleaner'); ?></b></th>
|
197 |
+
<th scope="col" style="text-align:right; width:100px"><b><?php _e('Size','advanced-db-cleaner'); ?></b></th>
|
198 |
+
<th scope="col" style="text-align:right; width:80px"><b><?php _e('Lost','advanced-db-cleaner'); ?></b></th>
|
199 |
+
</tr>
|
200 |
+
</thead>
|
201 |
+
<tbody id="the-list">
|
202 |
+
<?php
|
203 |
+
global $wpdb;
|
204 |
+
$aDBc_tableID = 0;
|
205 |
+
$total_rows = 0;
|
206 |
+
$total_size = 0;
|
207 |
+
$total_lost = 0;
|
208 |
+
$adbc_sql = 'SHOW TABLE STATUS FROM `'.DB_NAME.'`';
|
209 |
+
$result = $wpdb->get_results($adbc_sql);
|
210 |
+
foreach($result as $row){
|
211 |
+
$aDBc_tableID += 1;
|
212 |
+
$total_rows += $row->Rows;
|
213 |
+
$table_size = ($row->Data_length + $row->Index_length) / 1024;
|
214 |
+
$total_size += $table_size;
|
215 |
+
$total_lost += $row->Data_free;
|
216 |
+
echo "<tr class='alternate'>
|
217 |
+
<td class='column-name' style='width:30px'>". $aDBc_tableID ."</td>
|
218 |
+
<td class='column-name'>". $row->Name ."</td>
|
219 |
+
<td class='column-name' style='text-align:right'>". $row->Rows ."</td>
|
220 |
+
<td class='column-name' style='text-align:right'>". sprintf("%0.2f", $table_size) ." KB</td>
|
221 |
+
<td class='column-name' style='text-align:right'>". ($row->Data_free > 0 ? $row->Data_free . ' o' : '--') ."</td>
|
222 |
+
</tr>\n";
|
223 |
+
}
|
224 |
+
?>
|
225 |
+
</tbody>
|
226 |
+
<tfoot>
|
227 |
+
<tr class="alternate">
|
228 |
+
<th scope="col" style="font-size:12px"><?php _e('Total','advanced-db-cleaner'); ?></th>
|
229 |
+
<th scope="col" style="text-align:left"><b><?php echo $aDBc_tableID; ?></b></th>
|
230 |
+
<th scope="col" style="text-align:right"><b><?php echo $total_rows; ?></b></th>
|
231 |
+
<th scope="col" style="text-align:right"><b><?php echo sprintf("%0.2f", $total_size).'</b> KB'; ?></th>
|
232 |
+
<th scope="col" style="text-align:right"><b><?php echo $total_lost .'</b> o'; ?></th>
|
233 |
+
</tr>
|
234 |
+
</tfoot>
|
235 |
+
</table>
|
236 |
+
</p>
|
237 |
+
<p>
|
238 |
+
<input type="hidden" name="aDBc_optimize_form" value="" />
|
239 |
+
<input type="submit" class="button-primary" value="<?php _e('Optimize database','advanced-db-cleaner'); ?>" />
|
240 |
+
</p>
|
241 |
+
</form>
|
242 |
+
</div>
|
243 |
+
</div>
|
244 |
+
|
245 |
<br />
|
246 |
+
|
247 |
+
<div style="text-align:center; clear: both">© <?php echo date("Y"); ?> By Symptote</div>
|
248 |
</div>
|
249 |
<?php
|
250 |
}
|
343 |
}
|
344 |
return $count;
|
345 |
}
|
346 |
+
|
347 |
+
function adv_db_cleaner_optimize(){
|
348 |
+
global $wpdb;
|
349 |
+
$adbc_sql = 'SHOW TABLE STATUS FROM `'.DB_NAME.'`';
|
350 |
+
$result = $wpdb->get_results($adbc_sql);
|
351 |
+
foreach($result as $row){
|
352 |
+
$adbc_sql = 'OPTIMIZE TABLE '.$row->Name;
|
353 |
+
$wpdb->query($adbc_sql);
|
354 |
+
}
|
355 |
+
}
|
356 |
?>
|
advanced-db-cleaner.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/*
|
3 |
Plugin Name: Advanced Database Cleaner
|
4 |
Description: Clean your database and save space by removing unused data such as "draft", "Spam Comments", "Orphan Postmeta", etc.
|
5 |
-
Version: 1.
|
6 |
Author: Jaafar Y.
|
7 |
Contributors: symptote
|
8 |
Text Domain: advanced-db-cleaner
|
@@ -13,18 +13,9 @@ License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
|
13 |
|
14 |
defined( 'ABSPATH' ) or die( 'No script kiddies please!' );
|
15 |
|
16 |
-
add_action('init','load_db_cleaner_language');
|
17 |
-
function load_db_cleaner_language(){
|
18 |
-
$activeLocale = get_locale();
|
19 |
-
if(!empty($activeLocale)){
|
20 |
-
$langFile = dirname(__FILE__) . "/languages/" . $activeLocale . ".mo";
|
21 |
-
if(@file_exists($langFile) && is_readable($langFile)){
|
22 |
-
load_textdomain('advanced-db-cleaner', $langFile);
|
23 |
-
}
|
24 |
-
}
|
25 |
-
}
|
26 |
-
|
27 |
add_filter('plugin_action_links_' . plugin_basename(__FILE__), 'db_cleaner_add_action_links');
|
|
|
|
|
28 |
function db_cleaner_add_action_links($links){
|
29 |
$adc_settings_link = '<a href = "options-general.php?page=' . dirname(plugin_basename(__FILE__)) . '/advanced-db-cleaner-admin.php">' . __('Settings', 'advanced-db-cleaner') . '</a>';
|
30 |
array_unshift($links, $adc_settings_link);
|
2 |
/*
|
3 |
Plugin Name: Advanced Database Cleaner
|
4 |
Description: Clean your database and save space by removing unused data such as "draft", "Spam Comments", "Orphan Postmeta", etc.
|
5 |
+
Version: 1.1.0
|
6 |
Author: Jaafar Y.
|
7 |
Contributors: symptote
|
8 |
Text Domain: advanced-db-cleaner
|
13 |
|
14 |
defined( 'ABSPATH' ) or die( 'No script kiddies please!' );
|
15 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
16 |
add_filter('plugin_action_links_' . plugin_basename(__FILE__), 'db_cleaner_add_action_links');
|
17 |
+
|
18 |
+
// Add 'settings' link under the plugin name in plugins page
|
19 |
function db_cleaner_add_action_links($links){
|
20 |
$adc_settings_link = '<a href = "options-general.php?page=' . dirname(plugin_basename(__FILE__)) . '/advanced-db-cleaner-admin.php">' . __('Settings', 'advanced-db-cleaner') . '</a>';
|
21 |
array_unshift($links, $adc_settings_link);
|
css/index.php
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
#Silence is golden.
|
3 |
+
?>
|
css/style.css
ADDED
@@ -0,0 +1,129 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/* Set the size and font of the tab widget */
|
2 |
+
.tabBox {
|
3 |
+
border-radius: 4px;
|
4 |
+
margin: 10px 0 40px 0;
|
5 |
+
width: 550px;
|
6 |
+
height: auto;
|
7 |
+
float: left;
|
8 |
+
}
|
9 |
+
|
10 |
+
/* Configure the radio buttons to hide off screen */
|
11 |
+
.tabBox > input[type="radio"] {
|
12 |
+
position: absolute;
|
13 |
+
left:-100px;
|
14 |
+
top:-100px;
|
15 |
+
}
|
16 |
+
|
17 |
+
/* Configure labels to look like tabs */
|
18 |
+
.tabBox > input[type="radio"] + label {
|
19 |
+
/* inline-block such that the label can be given dimensions */
|
20 |
+
display: inline-block;
|
21 |
+
|
22 |
+
/* A nice curved border around the tab */
|
23 |
+
border: 1px solid #DEDBD1;
|
24 |
+
border-radius: 5px 5px 0 0;
|
25 |
+
-moz-border-radius: 5px 5px 0 0;
|
26 |
+
-webkit-border-radius: 5px 5px 0 0;
|
27 |
+
|
28 |
+
/* the bottom border is handled by the tab content div */
|
29 |
+
border-bottom: 0;
|
30 |
+
|
31 |
+
/* Padding around tab text */
|
32 |
+
padding: 5px 10px;
|
33 |
+
|
34 |
+
/* Set the background color to default gray (non-selected tab) */
|
35 |
+
background-color:#ddd;
|
36 |
+
color: black;
|
37 |
+
}
|
38 |
+
|
39 |
+
/* Checked tabs must be white with the bottom border removed */
|
40 |
+
.tabBox > input[type="radio"]:checked + label {
|
41 |
+
background-color:white;
|
42 |
+
font-weight: bold;
|
43 |
+
border-bottom: 1px solid white;
|
44 |
+
margin-bottom: -1px;
|
45 |
+
}
|
46 |
+
|
47 |
+
/* The tab content must fill the widgets size and have a nice border */
|
48 |
+
.tabBox > div {
|
49 |
+
display: none;
|
50 |
+
border: 1px solid #DEDBD1;
|
51 |
+
background-color: white;
|
52 |
+
padding: 10px 20px 10px 20px;
|
53 |
+
height: auto;
|
54 |
+
overflow: auto;
|
55 |
+
margin-top: -1px;
|
56 |
+
|
57 |
+
border-radius: 0 5px 5px 5px;
|
58 |
+
-moz-border-radius: 0 5px 5px 5px;
|
59 |
+
-webkit-border-radius: 0 5px 5px 5px;
|
60 |
+
}
|
61 |
+
|
62 |
+
/* This matchs tabs displaying to thier associated radio inputs */
|
63 |
+
#aDBc-clean:checked ~ .tab1, #aDBc-optimize:checked ~ .tab2, #aDBc-stats:checked ~ .tab3{
|
64 |
+
display: block;
|
65 |
+
}
|
66 |
+
|
67 |
+
|
68 |
+
/* style for count numbers */
|
69 |
+
.aDBcCount {
|
70 |
+
text-align:center;
|
71 |
+
color: #666 !important;
|
72 |
+
}
|
73 |
+
|
74 |
+
|
75 |
+
/* Style for check box */
|
76 |
+
|
77 |
+
input[type=checkbox] {
|
78 |
+
visibility: hidden;
|
79 |
+
}
|
80 |
+
|
81 |
+
/* SQUARED FOUR */
|
82 |
+
.squaredFour {
|
83 |
+
position: relative;
|
84 |
+
}
|
85 |
+
|
86 |
+
.squaredFour label {
|
87 |
+
cursor: pointer;
|
88 |
+
position: absolute;
|
89 |
+
width: 16px;
|
90 |
+
height: 16px;
|
91 |
+
top: 0;
|
92 |
+
border-radius: 4px;
|
93 |
+
border: 1px solid #999;
|
94 |
+
background: #fcfff4;
|
95 |
+
}
|
96 |
+
|
97 |
+
.squaredFour label:after {
|
98 |
+
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
|
99 |
+
filter: alpha(opacity=0);
|
100 |
+
opacity: 0;
|
101 |
+
content: '';
|
102 |
+
position: absolute;
|
103 |
+
width: 7px;
|
104 |
+
height: 4px;
|
105 |
+
background: transparent;
|
106 |
+
top: 4px;
|
107 |
+
left: 4px;
|
108 |
+
border: 2px solid #71ADE1;
|
109 |
+
border-top: none;
|
110 |
+
border-right: none;
|
111 |
+
-webkit-transform: rotate(-45deg);
|
112 |
+
-moz-transform: rotate(-45deg);
|
113 |
+
-o-transform: rotate(-45deg);
|
114 |
+
-ms-transform: rotate(-45deg);
|
115 |
+
transform: rotate(-45deg);
|
116 |
+
}
|
117 |
+
|
118 |
+
.squaredFour label:hover::after {
|
119 |
+
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=30)";
|
120 |
+
filter: alpha(opacity=30);
|
121 |
+
opacity: 0.3;
|
122 |
+
}
|
123 |
+
|
124 |
+
.squaredFour input[type=checkbox]:checked + label:after {
|
125 |
+
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
|
126 |
+
filter: alpha(opacity=100);
|
127 |
+
opacity: 1;
|
128 |
+
}
|
129 |
+
|
index.php
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
#Silence is golden.
|
3 |
+
?>
|
screenshot-1.png
CHANGED
Binary file
|
screenshot-2.png
ADDED
Binary file
|