Version Description
- Adding "clean trash-posts"
- Updating FAQ
- Updating readme file
- Tested up to: 4.4
Download this release
Release Info
Developer | symptote |
Plugin | Advanced Database Cleaner |
Version | 1.3.7 |
Comparing to | |
See all releases |
Code changes from version 1.3.6 to 1.3.7
- README.txt +29 -18
- advanced-db-cleaner.php +25 -45
- css/style.css +23 -37
- includes/clean-cron.php +8 -8
- includes/clean-db.php +38 -11
- includes/functions.php +37 -30
- includes/optimize-db.php +14 -2
- includes/reset-db.php +5 -0
- includes/sidebar.php +6 -7
- index.php +1 -1
README.txt
CHANGED
@@ -1,35 +1,37 @@
|
|
1 |
=== Advanced Database Cleaner ===
|
2 |
Contributors: symptote
|
3 |
Donate Link: http://www.sigmaplugin.com/donation
|
4 |
-
Tags: plugin,
|
5 |
Requires at least: 3.0.0
|
6 |
-
Tested up to: 4.
|
7 |
-
Stable tag: 1.3.
|
8 |
License: GPLv2 or later
|
9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
10 |
|
11 |
-
Clean up your database by deleting unused data such as
|
12 |
|
13 |
== Description ==
|
14 |
|
15 |
-
|
|
|
|
|
16 |
|
17 |
= Main Features =
|
18 |
-
* Removes unused data such as "revision", "draft", "auto draft", "moderated comments", "spam comments", "trash comments", "orphan postmeta", "orphan commentmeta", "orphan relationships", "dashboard transient feed"
|
19 |
-
* Optimizes
|
20 |
-
*
|
21 |
-
*
|
22 |
-
*
|
23 |
-
* Schedules the
|
24 |
-
*
|
25 |
* Supports multisite installation
|
26 |
|
27 |
= Multisite Support =
|
28 |
* The plugin supports multisite wordpress installations
|
29 |
-
*
|
30 |
* The main site can clean and optimize all tables for all sites in the network
|
31 |
-
* Other sites in the network can only clean and optimize their own tables
|
32 |
-
* The reset of the database can be executed from the main site only
|
33 |
|
34 |
== Installation ==
|
35 |
|
@@ -56,6 +58,12 @@ This section describes how to install the plugin and get it working.
|
|
56 |
|
57 |
== Changelog ==
|
58 |
|
|
|
|
|
|
|
|
|
|
|
|
|
59 |
= 1.3.6 =
|
60 |
* Fixing a problem in donate button
|
61 |
* Using _e() and __() for all texts in the plugin
|
@@ -115,9 +123,6 @@ Optimizing your database will reclaim unused space in your tables, which will re
|
|
115 |
= Is it safe to clean the cron (scheduled tasks)? =
|
116 |
A scheduled task enables plugins to execute some actions at specified times, without having to manually execute code at that time. Wordpress itself uses some scheduled tasks to perform some regular actions. However, some scheduled tasks may not be removed even if the responsible plugins are deleted from your wordpress installation. As you know, not all plugins care about the housekeeping of your wordpress. Hence, deleting these unnecessary tasks may help in cleaning your site. It should be noted that cleaning scheduled tasks is safe as long as you know what tasks to clean. If your are not sure, it is better to not clean any task.
|
117 |
|
118 |
-
= Is this plugin compatible with multisite? =
|
119 |
-
Yes, it is compatible with multisite.
|
120 |
-
|
121 |
= What does mean "Revision"? What sql code is used to clean it? =
|
122 |
WordPress stores a record (called "revision") of each saved draft or published update. This system allows you to see what changes were made in each post and page over time. However, this can lead to a lot of unnecessary overhead in your WordPress database, which consumes a lot of space. The sql query used by the plugin to clean all revisions is:
|
123 |
`DELETE FROM posts WHERE post_type = 'revision'`
|
@@ -158,5 +163,11 @@ Sometimes the wp_term_relationships table becomes bloated with many orphaned rel
|
|
158 |
Transient are a way for storing cached data temporarily in your database by given it a name and a timeframe after which it will expire and be deleted. The sql query used by the plugin to clean dashboard transient feed is:
|
159 |
`DELETE FROM 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_%'`
|
160 |
|
|
|
|
|
|
|
|
|
|
|
|
|
161 |
= Does this plugin cleans itself after the uninstall? =
|
162 |
Yes, the plugin cleans itself and removes any data used to store its settings.
|
1 |
=== Advanced Database Cleaner ===
|
2 |
Contributors: symptote
|
3 |
Donate Link: http://www.sigmaplugin.com/donation
|
4 |
+
Tags: plugin, plugin wordpress, database cleaner, clean database, database clean, database, clean, clean-up, clean up, cleanup, cleaner, delete orphan data, orphan data, delete revisions, delete revision, revision, delete draft, draft, delete trash, delete trash posts, trash post, trash, delete spam, spam, delete auto draft, auto draft, delete postmeta, postmeta, delete commentmeta, commentmeta, delete relationships, relationships, delete transient feed, transient feed, optimize database, database optimize, database optimizer, optimize, optimizer, reset database, database reset, reset, admin, widget, schedule, scheduler, schedule clean-up, schedule optimize, multisite, multi-site, network, cron, cron job, clean cron, clean scheduled tasks, view cron, view cron job, view scheduled tasks
|
5 |
Requires at least: 3.0.0
|
6 |
+
Tested up to: 4.4
|
7 |
+
Stable tag: 1.3.7
|
8 |
License: GPLv2 or later
|
9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
10 |
|
11 |
+
Clean up your database by deleting unused data such as revisions, optimize your database, or reset it to its initial state, etc.
|
12 |
|
13 |
== Description ==
|
14 |
|
15 |
+
If you have been using WordPress for a while, then you should think absolutely about a clean up. Indeed, your database may be full of garbage that make your site sluggish and bloated, such as: revisions, drafts, spam comments, etc. You should clean this unnecessary data to reduce the size of your database and improve efficiency when accessing tables. In addition, your backup files will be quicker and smaller.
|
16 |
+
|
17 |
+
'Advanced Database Cleaner' is a must-have plugin that cleans and optimizes your WordPress database.
|
18 |
|
19 |
= Main Features =
|
20 |
+
* Removes unused data such as "revision", "draft", "auto draft", "trash posts", "moderated comments", "spam comments", "trash comments", "orphan postmeta", "orphan commentmeta", "orphan relationships", "dashboard transient feed"
|
21 |
+
* Optimizes the database and improves its efficiency
|
22 |
+
* View and clean cron (scheduled tasks)
|
23 |
+
* Resets your database back to its original state
|
24 |
+
* Allows you choose what data should be cleaned
|
25 |
+
* Schedules the clean-up of database to run automatically
|
26 |
+
* Schedules the optimization of database to run automatically
|
27 |
* Supports multisite installation
|
28 |
|
29 |
= Multisite Support =
|
30 |
* The plugin supports multisite wordpress installations
|
31 |
+
* 'Network Activate' the plugin or activate it in each site separately
|
32 |
* The main site can clean and optimize all tables for all sites in the network
|
33 |
+
* Other sites in the network can only clean and optimize their own tables
|
34 |
+
* The reset of the database can be executed from the main site only
|
35 |
|
36 |
== Installation ==
|
37 |
|
58 |
|
59 |
== Changelog ==
|
60 |
|
61 |
+
= 1.3.7 =
|
62 |
+
* Adding "clean trash-posts"
|
63 |
+
* Updating FAQ
|
64 |
+
* Updating readme file
|
65 |
+
* Tested up to: 4.4
|
66 |
+
|
67 |
= 1.3.6 =
|
68 |
* Fixing a problem in donate button
|
69 |
* Using _e() and __() for all texts in the plugin
|
123 |
= Is it safe to clean the cron (scheduled tasks)? =
|
124 |
A scheduled task enables plugins to execute some actions at specified times, without having to manually execute code at that time. Wordpress itself uses some scheduled tasks to perform some regular actions. However, some scheduled tasks may not be removed even if the responsible plugins are deleted from your wordpress installation. As you know, not all plugins care about the housekeeping of your wordpress. Hence, deleting these unnecessary tasks may help in cleaning your site. It should be noted that cleaning scheduled tasks is safe as long as you know what tasks to clean. If your are not sure, it is better to not clean any task.
|
125 |
|
|
|
|
|
|
|
126 |
= What does mean "Revision"? What sql code is used to clean it? =
|
127 |
WordPress stores a record (called "revision") of each saved draft or published update. This system allows you to see what changes were made in each post and page over time. However, this can lead to a lot of unnecessary overhead in your WordPress database, which consumes a lot of space. The sql query used by the plugin to clean all revisions is:
|
128 |
`DELETE FROM posts WHERE post_type = 'revision'`
|
163 |
Transient are a way for storing cached data temporarily in your database by given it a name and a timeframe after which it will expire and be deleted. The sql query used by the plugin to clean dashboard transient feed is:
|
164 |
`DELETE FROM 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_%'`
|
165 |
|
166 |
+
= Is this plugin compatible with multisite? =
|
167 |
+
Yes, it is compatible with multisite.
|
168 |
+
|
169 |
+
= Is this plugin compatible with SharDB, HyperDB or Multi-DB? =
|
170 |
+
Actually the plugin is not supposed to be compatible with SharDB, HyperDB or Multi-DB. We will try to make it compatible in coming releases.
|
171 |
+
|
172 |
= Does this plugin cleans itself after the uninstall? =
|
173 |
Yes, the plugin cleans itself and removes any data used to store its settings.
|
advanced-db-cleaner.php
CHANGED
@@ -3,26 +3,22 @@ defined( 'ABSPATH' ) or die( 'No direct access allowed' );
|
|
3 |
|
4 |
/*
|
5 |
Plugin Name: Advanced Database Cleaner
|
6 |
-
Description: Clean up your database by deleting unused data such as
|
7 |
-
Version: 1.3.
|
8 |
Author: Younes JFR.
|
9 |
Contributors: symptote
|
10 |
Text Domain: advanced-db-cleaner
|
11 |
-
Domain Path: /languages
|
12 |
License: GPLv2 or later
|
13 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
14 |
*/
|
15 |
|
16 |
-
|
17 |
-
|
18 |
-
********************************************************************/
|
19 |
-
if (!defined("ADB_CLEANER_PLUGIN_VERSION")) define("ADB_CLEANER_PLUGIN_VERSION", "1.3.6");
|
20 |
if (!defined("ADB_CLEANER_PLUGIN_BASENAME")) define("ADB_CLEANER_PLUGIN_BASENAME", plugin_basename(__FILE__));
|
21 |
if (!defined("ADB_CLEANER_PLUGIN_DIR")) define("ADB_CLEANER_PLUGIN_DIR", plugins_url() .'/'. dirname(plugin_basename(__FILE__)));
|
22 |
|
23 |
-
|
24 |
-
* Add 'settings' link under the plugin name in plugins page
|
25 |
-
********************************************************************/
|
26 |
add_filter('plugin_action_links_' . ADB_CLEANER_PLUGIN_BASENAME, 'db_cleaner_add_action_links');
|
27 |
function db_cleaner_add_action_links($links){
|
28 |
$adc_settings_link = '<a href = "options-general.php?page=' . ADB_CLEANER_PLUGIN_BASENAME . '">' . __('Settings', 'advanced-db-cleaner') . '</a>';
|
@@ -30,26 +26,20 @@ function db_cleaner_add_action_links($links){
|
|
30 |
return $links;
|
31 |
}
|
32 |
|
33 |
-
|
34 |
-
* Add 'Database Cleaner' to Wordpress settings menu
|
35 |
-
********************************************************************/
|
36 |
add_action('admin_menu', 'adv_db_cleaner_add_admin_menu');
|
37 |
function adv_db_cleaner_add_admin_menu() {
|
38 |
$hook_adv_db_cleaner = add_options_page('Advanced DB Cleaner Options', 'Database Cleaner','manage_options', __FILE__, 'adv_db_cleaner_page');
|
39 |
add_action('admin_print_styles-' . $hook_adv_db_cleaner, 'adv_db_cleaner_enqueue_styles');
|
40 |
}
|
41 |
|
42 |
-
|
43 |
-
* Register stylesheet
|
44 |
-
********************************************************************/
|
45 |
add_action('admin_init', 'adv_db_cleaner_register_styles' );
|
46 |
function adv_db_cleaner_register_styles() {
|
47 |
wp_register_style('adv_db_cleaner_css', ADB_CLEANER_PLUGIN_DIR . '/css/style.css');
|
48 |
}
|
49 |
|
50 |
-
|
51 |
-
* Enqueue stylesheet
|
52 |
-
********************************************************************/
|
53 |
function adv_db_cleaner_enqueue_styles() {
|
54 |
wp_enqueue_style( 'adv_db_cleaner_css' );
|
55 |
}
|
@@ -73,9 +63,7 @@ function aDBc_additional_schedules($schedules){
|
|
73 |
return $schedules;
|
74 |
}
|
75 |
|
76 |
-
|
77 |
-
* (RE)-schedule tasks after (RE)-activation or update of the plugin
|
78 |
-
********************************************************************/
|
79 |
register_activation_hook(__FILE__, 'aDBc_activate_plugin');
|
80 |
add_action('aDBc_optimize_scheduler', 'adv_db_cleaner_optimize');
|
81 |
add_action('aDBc_clean_scheduler', 'aDBc_cleanAll');
|
@@ -107,13 +95,11 @@ function aDBc_activate_plugin($network_wide){
|
|
107 |
if($aDBc_clean_schedule && $aDBc_clean_schedule != 'no_schedule'){
|
108 |
if(!wp_next_scheduled('aDBc_clean_scheduler'))
|
109 |
wp_schedule_event(time()+60, $aDBc_clean_schedule, 'aDBc_clean_scheduler');
|
110 |
-
}
|
111 |
}
|
112 |
}
|
113 |
|
114 |
-
|
115 |
-
* Clear current scheduled tasks (if any) when deactivated
|
116 |
-
********************************************************************/
|
117 |
register_deactivation_hook(__FILE__, 'aDBc_deactivate_plugin' );
|
118 |
function aDBc_deactivate_plugin($network_wide){
|
119 |
global $wpdb;
|
@@ -131,9 +117,7 @@ function aDBc_deactivate_plugin($network_wide){
|
|
131 |
}
|
132 |
}
|
133 |
|
134 |
-
|
135 |
-
* Clear scheduled tasks + options if UNINSTALL
|
136 |
-
********************************************************************/
|
137 |
register_uninstall_hook(__FILE__, 'aDBc_uninstall');
|
138 |
function aDBc_uninstall(){
|
139 |
global $wpdb;
|
@@ -155,9 +139,7 @@ function aDBc_uninstall(){
|
|
155 |
}
|
156 |
}
|
157 |
|
158 |
-
|
159 |
-
* The admin page content
|
160 |
-
********************************************************************/
|
161 |
function adv_db_cleaner_page(){
|
162 |
?>
|
163 |
<div class="wrap">
|
@@ -225,10 +207,10 @@ function adv_db_cleaner_page(){
|
|
225 |
<div class="tabBox">
|
226 |
<?php
|
227 |
$aDBc_tab_list = array(
|
228 |
-
array("id"=>"aDBc-clean",
|
229 |
-
array("id"=>"aDBc-optimize",
|
230 |
-
array("id"=>"aDBc-cron",
|
231 |
-
array("id"=>"aDBc-reset",
|
232 |
);
|
233 |
foreach ($aDBc_tab_list as $key => $value){
|
234 |
$checked = "";
|
@@ -236,7 +218,8 @@ function adv_db_cleaner_page(){
|
|
236 |
|| (isset($_POST["aDBc_optimize_form"]) && $value["id"] == "aDBc-optimize")
|
237 |
|| (isset($_POST["aDBc_optimize_schedule_form"]) && $value["id"] == "aDBc-optimize")
|
238 |
|| (isset($_POST["aDBc_clean_cron_form"]) && $value["id"] == "aDBc-cron")
|
239 |
-
|| (isset($_POST["aDBc_reset_form"]) && $value["id"] == "aDBc-reset")
|
|
|
240 |
$checked = 'checked = "checked"';
|
241 |
}
|
242 |
echo '<input '.$checked.' type="radio" id="'.$value["id"].'" name="tabGroup1">'."\n";
|
@@ -251,7 +234,7 @@ function adv_db_cleaner_page(){
|
|
251 |
</div>
|
252 |
<div class="tab3">
|
253 |
<?php include_once 'includes/clean-cron.php'; ?>
|
254 |
-
</div>
|
255 |
<div class="tab4">
|
256 |
<?php
|
257 |
if(is_main_site()){
|
@@ -262,19 +245,16 @@ function adv_db_cleaner_page(){
|
|
262 |
echo "</div>";
|
263 |
}
|
264 |
?>
|
265 |
-
</div>
|
266 |
</div>
|
267 |
<div class="aDBcSidebar">
|
268 |
<?php include_once 'includes/sidebar.php'; ?>
|
269 |
</div>
|
270 |
</div>
|
271 |
</div>
|
272 |
-
<?php
|
273 |
}
|
274 |
-
|
275 |
-
|
276 |
-
* Get functions
|
277 |
-
*
|
278 |
-
***************************************************************/
|
279 |
include_once 'includes/functions.php';
|
280 |
?>
|
3 |
|
4 |
/*
|
5 |
Plugin Name: Advanced Database Cleaner
|
6 |
+
Description: Clean up your database by deleting unused data such as revisions, optimize your database, or reset it to its initial state, etc.
|
7 |
+
Version: 1.3.7
|
8 |
Author: Younes JFR.
|
9 |
Contributors: symptote
|
10 |
Text Domain: advanced-db-cleaner
|
11 |
+
Domain Path: /languages
|
12 |
License: GPLv2 or later
|
13 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
14 |
*/
|
15 |
|
16 |
+
/** Define common variables */
|
17 |
+
if (!defined("ADB_CLEANER_PLUGIN_VERSION")) define("ADB_CLEANER_PLUGIN_VERSION", "1.3.7");
|
|
|
|
|
18 |
if (!defined("ADB_CLEANER_PLUGIN_BASENAME")) define("ADB_CLEANER_PLUGIN_BASENAME", plugin_basename(__FILE__));
|
19 |
if (!defined("ADB_CLEANER_PLUGIN_DIR")) define("ADB_CLEANER_PLUGIN_DIR", plugins_url() .'/'. dirname(plugin_basename(__FILE__)));
|
20 |
|
21 |
+
/** Add 'settings' link under the plugin name in plugins page */
|
|
|
|
|
22 |
add_filter('plugin_action_links_' . ADB_CLEANER_PLUGIN_BASENAME, 'db_cleaner_add_action_links');
|
23 |
function db_cleaner_add_action_links($links){
|
24 |
$adc_settings_link = '<a href = "options-general.php?page=' . ADB_CLEANER_PLUGIN_BASENAME . '">' . __('Settings', 'advanced-db-cleaner') . '</a>';
|
26 |
return $links;
|
27 |
}
|
28 |
|
29 |
+
/** Add 'Database Cleaner' to Wordpress settings menu */
|
|
|
|
|
30 |
add_action('admin_menu', 'adv_db_cleaner_add_admin_menu');
|
31 |
function adv_db_cleaner_add_admin_menu() {
|
32 |
$hook_adv_db_cleaner = add_options_page('Advanced DB Cleaner Options', 'Database Cleaner','manage_options', __FILE__, 'adv_db_cleaner_page');
|
33 |
add_action('admin_print_styles-' . $hook_adv_db_cleaner, 'adv_db_cleaner_enqueue_styles');
|
34 |
}
|
35 |
|
36 |
+
/** Register stylesheet */
|
|
|
|
|
37 |
add_action('admin_init', 'adv_db_cleaner_register_styles' );
|
38 |
function adv_db_cleaner_register_styles() {
|
39 |
wp_register_style('adv_db_cleaner_css', ADB_CLEANER_PLUGIN_DIR . '/css/style.css');
|
40 |
}
|
41 |
|
42 |
+
/** Enqueue stylesheet */
|
|
|
|
|
43 |
function adv_db_cleaner_enqueue_styles() {
|
44 |
wp_enqueue_style( 'adv_db_cleaner_css' );
|
45 |
}
|
63 |
return $schedules;
|
64 |
}
|
65 |
|
66 |
+
/** (RE)-schedule tasks after (RE)-activation or update of the plugin */
|
|
|
|
|
67 |
register_activation_hook(__FILE__, 'aDBc_activate_plugin');
|
68 |
add_action('aDBc_optimize_scheduler', 'adv_db_cleaner_optimize');
|
69 |
add_action('aDBc_clean_scheduler', 'aDBc_cleanAll');
|
95 |
if($aDBc_clean_schedule && $aDBc_clean_schedule != 'no_schedule'){
|
96 |
if(!wp_next_scheduled('aDBc_clean_scheduler'))
|
97 |
wp_schedule_event(time()+60, $aDBc_clean_schedule, 'aDBc_clean_scheduler');
|
98 |
+
}
|
99 |
}
|
100 |
}
|
101 |
|
102 |
+
/** Clear current scheduled tasks (if any) when deactivated */
|
|
|
|
|
103 |
register_deactivation_hook(__FILE__, 'aDBc_deactivate_plugin' );
|
104 |
function aDBc_deactivate_plugin($network_wide){
|
105 |
global $wpdb;
|
117 |
}
|
118 |
}
|
119 |
|
120 |
+
/** Clear scheduled tasks + options if UNINSTALL */
|
|
|
|
|
121 |
register_uninstall_hook(__FILE__, 'aDBc_uninstall');
|
122 |
function aDBc_uninstall(){
|
123 |
global $wpdb;
|
139 |
}
|
140 |
}
|
141 |
|
142 |
+
/** The admin page content */
|
|
|
|
|
143 |
function adv_db_cleaner_page(){
|
144 |
?>
|
145 |
<div class="wrap">
|
207 |
<div class="tabBox">
|
208 |
<?php
|
209 |
$aDBc_tab_list = array(
|
210 |
+
array("id"=>"aDBc-clean", "title"=>__('Clean Database', 'advanced-db-cleaner')),
|
211 |
+
array("id"=>"aDBc-optimize","title"=>__('Optimize Database', 'advanced-db-cleaner')),
|
212 |
+
array("id"=>"aDBc-cron", "title"=>__('Clean Cron', 'advanced-db-cleaner')),
|
213 |
+
array("id"=>"aDBc-reset", "title"=>__('Reset Database', 'advanced-db-cleaner'))
|
214 |
);
|
215 |
foreach ($aDBc_tab_list as $key => $value){
|
216 |
$checked = "";
|
218 |
|| (isset($_POST["aDBc_optimize_form"]) && $value["id"] == "aDBc-optimize")
|
219 |
|| (isset($_POST["aDBc_optimize_schedule_form"]) && $value["id"] == "aDBc-optimize")
|
220 |
|| (isset($_POST["aDBc_clean_cron_form"]) && $value["id"] == "aDBc-cron")
|
221 |
+
|| (isset($_POST["aDBc_reset_form"]) && $value["id"] == "aDBc-reset")
|
222 |
+
){
|
223 |
$checked = 'checked = "checked"';
|
224 |
}
|
225 |
echo '<input '.$checked.' type="radio" id="'.$value["id"].'" name="tabGroup1">'."\n";
|
234 |
</div>
|
235 |
<div class="tab3">
|
236 |
<?php include_once 'includes/clean-cron.php'; ?>
|
237 |
+
</div>
|
238 |
<div class="tab4">
|
239 |
<?php
|
240 |
if(is_main_site()){
|
245 |
echo "</div>";
|
246 |
}
|
247 |
?>
|
248 |
+
</div>
|
249 |
</div>
|
250 |
<div class="aDBcSidebar">
|
251 |
<?php include_once 'includes/sidebar.php'; ?>
|
252 |
</div>
|
253 |
</div>
|
254 |
</div>
|
255 |
+
<?php
|
256 |
}
|
257 |
+
|
258 |
+
/** Get functions */
|
|
|
|
|
|
|
259 |
include_once 'includes/functions.php';
|
260 |
?>
|
css/style.css
CHANGED
@@ -4,11 +4,19 @@
|
|
4 |
.marginRight300 {
|
5 |
margin-right: 300px;
|
6 |
}
|
7 |
-
|
8 |
.marginTop20 {
|
9 |
margin-top: 20px;
|
10 |
}
|
11 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
12 |
/* ---------------------*/
|
13 |
/* ----- Tabs style ----*/
|
14 |
/* ---------------------*/
|
@@ -58,26 +66,19 @@
|
|
58 |
display: block;
|
59 |
min-height: 400px;
|
60 |
}
|
61 |
-
|
62 |
/* ---------------------------------*/
|
63 |
/* ----- "Clean DB" tabs styles ----*/
|
64 |
/* ---------------------------------*/
|
65 |
-
|
66 |
-
|
67 |
/* Style for count numbers */
|
68 |
.aDBcCount {
|
69 |
text-align: right !important;
|
70 |
color: #666 !important;
|
71 |
}
|
72 |
-
|
73 |
-
|
74 |
-
|
75 |
-
|
76 |
/* Style for check box */
|
77 |
input[type=checkbox] {
|
78 |
visibility: hidden;
|
79 |
}
|
80 |
-
/*
|
81 |
.squaredFour {
|
82 |
position: relative;
|
83 |
text-align: center;
|
@@ -122,8 +123,9 @@ input[type=checkbox] {
|
|
122 |
filter: alpha(opacity=100);
|
123 |
opacity: 1;
|
124 |
}
|
125 |
-
|
126 |
-
/*
|
|
|
127 |
.aDBcSidebar {
|
128 |
float:right;
|
129 |
border: 1px solid #ccc;
|
@@ -141,8 +143,12 @@ input[type=checkbox] {
|
|
141 |
.aDBcSidebar h2{
|
142 |
font-size:20px;
|
143 |
}
|
144 |
-
|
145 |
-
|
|
|
|
|
|
|
|
|
146 |
.box-warning {
|
147 |
border-radius: 5px;
|
148 |
-moz-border-radius: 5px;
|
@@ -153,7 +159,6 @@ input[type=checkbox] {
|
|
153 |
padding: 10px 10px 10px 50px;
|
154 |
margin-top: 20px;
|
155 |
}
|
156 |
-
/* Info box */
|
157 |
.box-info {
|
158 |
border-radius: 5px;
|
159 |
-moz-border-radius: 5px;
|
@@ -164,8 +169,6 @@ input[type=checkbox] {
|
|
164 |
padding: 10px 10px 10px 60px;
|
165 |
margin-top: 20px;
|
166 |
}
|
167 |
-
|
168 |
-
/* Top info box */
|
169 |
.aDBC-topBoxInfo {
|
170 |
clear:both;
|
171 |
border-radius: 5px;
|
@@ -177,8 +180,6 @@ input[type=checkbox] {
|
|
177 |
padding: 10px 10px 10px 40px;
|
178 |
max-width: 730px;
|
179 |
}
|
180 |
-
|
181 |
-
/* boxes in tab to inform users about the current option */
|
182 |
.aDBCRightBox{
|
183 |
padding:20px 0px 20px 0px;
|
184 |
margin-bottom:5px;
|
@@ -188,24 +189,9 @@ input[type=checkbox] {
|
|
188 |
text-align:justify;
|
189 |
color: #888;
|
190 |
}
|
191 |
-
|
192 |
-
/*
|
193 |
-
|
194 |
-
float: left;
|
195 |
-
background:#f4f4f4;
|
196 |
-
padding:2px 6px 2px 6px;
|
197 |
-
border-radius: 8px;
|
198 |
-
color: #999;
|
199 |
-
margin: 2px;
|
200 |
-
font-size: 11px;
|
201 |
-
}
|
202 |
-
|
203 |
-
/* Support us like image */
|
204 |
-
.aDBC-supportUs{
|
205 |
-
background: url("../images/rate.png") no-repeat center right;
|
206 |
-
}
|
207 |
-
|
208 |
-
/* Tooltip */
|
209 |
a.tooltips {
|
210 |
position: relative;
|
211 |
display: inline;
|
4 |
.marginRight300 {
|
5 |
margin-right: 300px;
|
6 |
}
|
|
|
7 |
.marginTop20 {
|
8 |
margin-top: 20px;
|
9 |
}
|
10 |
+
/* For Data already cleaned */
|
11 |
+
.already-cleaned{
|
12 |
+
float: left;
|
13 |
+
background:#f4f4f4;
|
14 |
+
padding:2px 6px 2px 6px;
|
15 |
+
border-radius: 8px;
|
16 |
+
color: #999;
|
17 |
+
margin: 2px;
|
18 |
+
font-size: 11px;
|
19 |
+
}
|
20 |
/* ---------------------*/
|
21 |
/* ----- Tabs style ----*/
|
22 |
/* ---------------------*/
|
66 |
display: block;
|
67 |
min-height: 400px;
|
68 |
}
|
|
|
69 |
/* ---------------------------------*/
|
70 |
/* ----- "Clean DB" tabs styles ----*/
|
71 |
/* ---------------------------------*/
|
|
|
|
|
72 |
/* Style for count numbers */
|
73 |
.aDBcCount {
|
74 |
text-align: right !important;
|
75 |
color: #666 !important;
|
76 |
}
|
|
|
|
|
|
|
|
|
77 |
/* Style for check box */
|
78 |
input[type=checkbox] {
|
79 |
visibility: hidden;
|
80 |
}
|
81 |
+
/* Checkbox style */
|
82 |
.squaredFour {
|
83 |
position: relative;
|
84 |
text-align: center;
|
123 |
filter: alpha(opacity=100);
|
124 |
opacity: 1;
|
125 |
}
|
126 |
+
/* ---------------------------------*/
|
127 |
+
/* ------------ Sidebar ------------*/
|
128 |
+
/* ---------------------------------*/
|
129 |
.aDBcSidebar {
|
130 |
float:right;
|
131 |
border: 1px solid #ccc;
|
143 |
.aDBcSidebar h2{
|
144 |
font-size:20px;
|
145 |
}
|
146 |
+
.aDBC-supportUs{
|
147 |
+
background: url("../images/rate.png") no-repeat center right;
|
148 |
+
}
|
149 |
+
/* ---------------------------------*/
|
150 |
+
/* ------------- Boxes -------------*/
|
151 |
+
/* ---------------------------------*/
|
152 |
.box-warning {
|
153 |
border-radius: 5px;
|
154 |
-moz-border-radius: 5px;
|
159 |
padding: 10px 10px 10px 50px;
|
160 |
margin-top: 20px;
|
161 |
}
|
|
|
162 |
.box-info {
|
163 |
border-radius: 5px;
|
164 |
-moz-border-radius: 5px;
|
169 |
padding: 10px 10px 10px 60px;
|
170 |
margin-top: 20px;
|
171 |
}
|
|
|
|
|
172 |
.aDBC-topBoxInfo {
|
173 |
clear:both;
|
174 |
border-radius: 5px;
|
180 |
padding: 10px 10px 10px 40px;
|
181 |
max-width: 730px;
|
182 |
}
|
|
|
|
|
183 |
.aDBCRightBox{
|
184 |
padding:20px 0px 20px 0px;
|
185 |
margin-bottom:5px;
|
189 |
text-align:justify;
|
190 |
color: #888;
|
191 |
}
|
192 |
+
/* ---------------------------------*/
|
193 |
+
/* ------------ Tooltip ------------*/
|
194 |
+
/* ---------------------------------*/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
195 |
a.tooltips {
|
196 |
position: relative;
|
197 |
display: inline;
|
includes/clean-cron.php
CHANGED
@@ -33,11 +33,11 @@
|
|
33 |
// Fetch tasks for all blogs
|
34 |
$cron = _get_cron_array();
|
35 |
$schedules = wp_get_schedules();
|
36 |
-
$date_format =
|
37 |
foreach ( $cron as $timestamp => $cronhooks ) {
|
38 |
foreach ( (array) $cronhooks as $hook => $events ) {
|
39 |
foreach ( (array) $events as $key => $event ) {
|
40 |
-
$cron[ $timestamp ][ $hook ][ $key ][ 'date' ] =
|
41 |
}
|
42 |
}
|
43 |
}
|
@@ -74,22 +74,22 @@
|
|
74 |
}else{
|
75 |
// Fetch tasks for single blog
|
76 |
$cron = _get_cron_array();
|
77 |
-
$schedules = wp_get_schedules();
|
78 |
-
$date_format =
|
79 |
-
foreach ( $cron as $timestamp => $cronhooks ) {
|
80 |
foreach ( (array) $cronhooks as $hook => $events ) {
|
81 |
foreach ( (array) $events as $key => $event ) {
|
82 |
-
$cron[ $timestamp ][ $hook ][ $key ][ 'date' ] =
|
83 |
}
|
84 |
}
|
85 |
}
|
86 |
-
foreach ( $cron as $timestamp => $cronhooks ) {
|
87 |
foreach ( (array) $cronhooks as $hook => $events ) {
|
88 |
foreach ( (array) $events as $event ) { ?>
|
89 |
<tr>
|
90 |
<td><?php echo $hook; ?></td>
|
91 |
<td>
|
92 |
-
<?php
|
93 |
if ( $event[ 'schedule' ] ) {
|
94 |
echo $schedules [ $event[ 'schedule' ] ][ 'display' ];
|
95 |
} else {
|
33 |
// Fetch tasks for all blogs
|
34 |
$cron = _get_cron_array();
|
35 |
$schedules = wp_get_schedules();
|
36 |
+
$date_format = 'M j, Y @ H:i:s';
|
37 |
foreach ( $cron as $timestamp => $cronhooks ) {
|
38 |
foreach ( (array) $cronhooks as $hook => $events ) {
|
39 |
foreach ( (array) $events as $key => $event ) {
|
40 |
+
$cron[ $timestamp ][ $hook ][ $key ][ 'date' ] = get_date_from_gmt(date('Y-m-d H:i:s', $timestamp ), $date_format);
|
41 |
}
|
42 |
}
|
43 |
}
|
74 |
}else{
|
75 |
// Fetch tasks for single blog
|
76 |
$cron = _get_cron_array();
|
77 |
+
$schedules = wp_get_schedules();
|
78 |
+
$date_format = 'M j, Y @ H:i:s';
|
79 |
+
foreach ( (array) $cron as $timestamp => $cronhooks ) {
|
80 |
foreach ( (array) $cronhooks as $hook => $events ) {
|
81 |
foreach ( (array) $events as $key => $event ) {
|
82 |
+
$cron[ $timestamp ][ $hook ][ $key ][ 'date' ] = get_date_from_gmt(date('Y-m-d H:i:s', $timestamp ), $date_format);
|
83 |
}
|
84 |
}
|
85 |
}
|
86 |
+
foreach ( (array) $cron as $timestamp => $cronhooks ) {
|
87 |
foreach ( (array) $cronhooks as $hook => $events ) {
|
88 |
foreach ( (array) $events as $event ) { ?>
|
89 |
<tr>
|
90 |
<td><?php echo $hook; ?></td>
|
91 |
<td>
|
92 |
+
<?php
|
93 |
if ( $event[ 'schedule' ] ) {
|
94 |
echo $schedules [ $event[ 'schedule' ] ][ 'display' ];
|
95 |
} else {
|
includes/clean-db.php
CHANGED
@@ -73,7 +73,20 @@ $aDBc_count_unused = adv_db_cleaner_count();
|
|
73 |
</td>
|
74 |
</tr>
|
75 |
<?php
|
76 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
77 |
if($aDBc_count_unused["moderated"] > 0){ ?>
|
78 |
<tr class="">
|
79 |
<td class="column-name"><?php _e('Moderated Comments','advanced-db-cleaner'); ?></td>
|
@@ -219,7 +232,19 @@ $aDBc_count_unused = adv_db_cleaner_count();
|
|
219 |
<input type="hidden" name="aDBc_clean_schedule_form" value="" />
|
220 |
<input style="height:30px" type="submit" class="button-primary" value="<?php _e('Save','advanced-db-cleaner'); ?>" />
|
221 |
</form>
|
222 |
-
<div style="padding-top:15px; color:#111;"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
223 |
</div>
|
224 |
|
225 |
<div class="aDBCRightBox">
|
@@ -232,23 +257,25 @@ $aDBc_count_unused = adv_db_cleaner_count();
|
|
232 |
if($aDBc_count_unused["revision"] == 0)
|
233 |
echo "<div class='already-cleaned'>". __('Revision','advanced-db-cleaner') ."</div>";
|
234 |
if($aDBc_count_unused["draft"] == 0)
|
235 |
-
echo "<div class='already-cleaned'>". __('Draft','advanced-db-cleaner') ."</div>";
|
236 |
if($aDBc_count_unused["autodraft"] == 0)
|
237 |
-
echo "<div class='already-cleaned'>". __('Auto Draft','advanced-db-cleaner') ."</div>";
|
|
|
|
|
238 |
if($aDBc_count_unused["postmeta"] == 0)
|
239 |
-
echo "<div class='already-cleaned'>". __('Postmeta','advanced-db-cleaner') ."</div>";
|
240 |
if($aDBc_count_unused["moderated"] == 0)
|
241 |
-
echo "<div class='already-cleaned'>". __('Moderated Comments','advanced-db-cleaner') ."</div>";
|
242 |
if($aDBc_count_unused["spam"] == 0)
|
243 |
-
echo "<div class='already-cleaned'>". __('Spam Comments','advanced-db-cleaner') ."</div>";
|
244 |
if($aDBc_count_unused["trash"] == 0)
|
245 |
-
echo "<div class='already-cleaned'>". __('Trash Comments','advanced-db-cleaner') ."</div>";
|
246 |
if($aDBc_count_unused["commentmeta"] == 0)
|
247 |
-
echo "<div class='already-cleaned'>". __('Commentmeta','advanced-db-cleaner') ."</div>";
|
248 |
if($aDBc_count_unused["relationships"] == 0)
|
249 |
-
echo "<div class='already-cleaned'>". __('Relationships','advanced-db-cleaner') ."</div>";
|
250 |
if($aDBc_count_unused["feed"] == 0)
|
251 |
-
echo "<div class='already-cleaned'>". __('Dashboard Transient Feed','advanced-db-cleaner') ."</div>";
|
252 |
?>
|
253 |
<div style="clear:both"></div>
|
254 |
</div>
|
73 |
</td>
|
74 |
</tr>
|
75 |
<?php
|
76 |
+
}
|
77 |
+
if($aDBc_count_unused["trashposts"] > 0){ ?>
|
78 |
+
<tr class="">
|
79 |
+
<td class="column-name"><?php _e('Trash posts','advanced-db-cleaner'); ?></td>
|
80 |
+
<td class="column-name aDBcCount"><?php echo $aDBc_count_unused["trashposts"]; ?></td>
|
81 |
+
<td class="column-name">
|
82 |
+
<div class="squaredFour">
|
83 |
+
<input id="aDBc_check_trashposts" type="checkbox" name="adbc_post_type[]" value="trash-posts" />
|
84 |
+
<label for="aDBc_check_trashposts"></label>
|
85 |
+
</div>
|
86 |
+
</td>
|
87 |
+
</tr>
|
88 |
+
<?php
|
89 |
+
}
|
90 |
if($aDBc_count_unused["moderated"] > 0){ ?>
|
91 |
<tr class="">
|
92 |
<td class="column-name"><?php _e('Moderated Comments','advanced-db-cleaner'); ?></td>
|
232 |
<input type="hidden" name="aDBc_clean_schedule_form" value="" />
|
233 |
<input style="height:30px" type="submit" class="button-primary" value="<?php _e('Save','advanced-db-cleaner'); ?>" />
|
234 |
</form>
|
235 |
+
<div style="padding-top:15px; color:#111;">
|
236 |
+
<?php _e('Next run:','advanced-db-cleaner'); ?>
|
237 |
+
<span style="color: green">
|
238 |
+
<?php
|
239 |
+
if(wp_next_scheduled('aDBc_clean_scheduler')){
|
240 |
+
$date_format = 'M j, Y @ H:i:s';
|
241 |
+
echo get_date_from_gmt(date('Y-m-d H:i:s', wp_next_scheduled('aDBc_clean_scheduler')), $date_format);
|
242 |
+
}else{
|
243 |
+
echo 'Not set';
|
244 |
+
}
|
245 |
+
?>
|
246 |
+
</span>
|
247 |
+
</div>
|
248 |
</div>
|
249 |
|
250 |
<div class="aDBCRightBox">
|
257 |
if($aDBc_count_unused["revision"] == 0)
|
258 |
echo "<div class='already-cleaned'>". __('Revision','advanced-db-cleaner') ."</div>";
|
259 |
if($aDBc_count_unused["draft"] == 0)
|
260 |
+
echo "<div class='already-cleaned'>". __('Draft','advanced-db-cleaner') ."</div>";
|
261 |
if($aDBc_count_unused["autodraft"] == 0)
|
262 |
+
echo "<div class='already-cleaned'>". __('Auto Draft','advanced-db-cleaner') ."</div>";
|
263 |
+
if($aDBc_count_unused["trashposts"] == 0)
|
264 |
+
echo "<div class='already-cleaned'>". __('Trash posts','advanced-db-cleaner') ."</div>";
|
265 |
if($aDBc_count_unused["postmeta"] == 0)
|
266 |
+
echo "<div class='already-cleaned'>". __('Postmeta','advanced-db-cleaner') ."</div>";
|
267 |
if($aDBc_count_unused["moderated"] == 0)
|
268 |
+
echo "<div class='already-cleaned'>". __('Moderated Comments','advanced-db-cleaner') ."</div>";
|
269 |
if($aDBc_count_unused["spam"] == 0)
|
270 |
+
echo "<div class='already-cleaned'>". __('Spam Comments','advanced-db-cleaner') ."</div>";
|
271 |
if($aDBc_count_unused["trash"] == 0)
|
272 |
+
echo "<div class='already-cleaned'>". __('Trash Comments','advanced-db-cleaner') ."</div>";
|
273 |
if($aDBc_count_unused["commentmeta"] == 0)
|
274 |
+
echo "<div class='already-cleaned'>". __('Commentmeta','advanced-db-cleaner') ."</div>";
|
275 |
if($aDBc_count_unused["relationships"] == 0)
|
276 |
+
echo "<div class='already-cleaned'>". __('Relationships','advanced-db-cleaner') ."</div>";
|
277 |
if($aDBc_count_unused["feed"] == 0)
|
278 |
+
echo "<div class='already-cleaned'>". __('Dashboard Transient Feed','advanced-db-cleaner') ."</div>";
|
279 |
?>
|
280 |
<div style="clear:both"></div>
|
281 |
</div>
|
includes/functions.php
CHANGED
@@ -23,6 +23,11 @@ function adv_db_cleaner($type){
|
|
23 |
$wpdb->query("DELETE pm FROM $wpdb->postmeta pm LEFT JOIN $wpdb->posts wp ON wp.ID = pm.post_id WHERE wp.ID IS NULL");
|
24 |
$wpdb->query("DELETE FROM $wpdb->term_relationships WHERE term_taxonomy_id=1 AND object_id NOT IN (SELECT id FROM $wpdb->posts)");
|
25 |
break;
|
|
|
|
|
|
|
|
|
|
|
26 |
case "moderated":
|
27 |
$wpdb->query("DELETE FROM $wpdb->comments WHERE comment_approved = '0'");
|
28 |
$wpdb->query("DELETE FROM $wpdb->commentmeta WHERE comment_id NOT IN (SELECT comment_id FROM $wpdb->comments)");
|
@@ -36,7 +41,6 @@ function adv_db_cleaner($type){
|
|
36 |
$wpdb->query("DELETE FROM $wpdb->commentmeta WHERE comment_id NOT IN (SELECT comment_id FROM $wpdb->comments)");
|
37 |
break;
|
38 |
case "postmeta":
|
39 |
-
//"DELETE FROM $wpdb->postmeta WHERE NOT EXISTS ( SELECT * FROM $wpdb->posts WHERE $wpdb->postmeta.post_id = $wpdb->posts.ID )";
|
40 |
$wpdb->query("DELETE pm FROM $wpdb->postmeta pm LEFT JOIN $wpdb->posts wp ON wp.ID = pm.post_id WHERE wp.ID IS NULL");
|
41 |
break;
|
42 |
case "commentmeta":
|
@@ -69,6 +73,11 @@ function adv_db_cleaner($type){
|
|
69 |
$wpdb->query("DELETE pm FROM $wpdb->postmeta pm LEFT JOIN $wpdb->posts wp ON wp.ID = pm.post_id WHERE wp.ID IS NULL");
|
70 |
$wpdb->query("DELETE FROM $wpdb->term_relationships WHERE term_taxonomy_id=1 AND object_id NOT IN (SELECT id FROM $wpdb->posts)");
|
71 |
break;
|
|
|
|
|
|
|
|
|
|
|
72 |
case "moderated":
|
73 |
$wpdb->query("DELETE FROM $wpdb->comments WHERE comment_approved = '0'");
|
74 |
$wpdb->query("DELETE FROM $wpdb->commentmeta WHERE comment_id NOT IN (SELECT comment_id FROM $wpdb->comments)");
|
@@ -82,7 +91,6 @@ function adv_db_cleaner($type){
|
|
82 |
$wpdb->query("DELETE FROM $wpdb->commentmeta WHERE comment_id NOT IN (SELECT comment_id FROM $wpdb->comments)");
|
83 |
break;
|
84 |
case "postmeta":
|
85 |
-
//"DELETE FROM $wpdb->postmeta WHERE NOT EXISTS ( SELECT * FROM $wpdb->posts WHERE $wpdb->postmeta.post_id = $wpdb->posts.ID )";
|
86 |
$wpdb->query("DELETE pm FROM $wpdb->postmeta pm LEFT JOIN $wpdb->posts wp ON wp.ID = pm.post_id WHERE wp.ID IS NULL");
|
87 |
break;
|
88 |
case "commentmeta":
|
@@ -109,10 +117,10 @@ function aDBc_cleanAll(){
|
|
109 |
$wpdb->query("DELETE FROM $wpdb->posts WHERE post_type = 'revision'");
|
110 |
$wpdb->query("DELETE FROM $wpdb->posts WHERE post_status = 'draft'");
|
111 |
$wpdb->query("DELETE FROM $wpdb->posts WHERE post_status = 'auto-draft'");
|
|
|
112 |
$wpdb->query("DELETE FROM $wpdb->comments WHERE comment_approved = '0'");
|
113 |
$wpdb->query("DELETE FROM $wpdb->comments WHERE comment_approved = 'spam'");
|
114 |
$wpdb->query("DELETE FROM $wpdb->comments WHERE comment_approved = 'trash'");
|
115 |
-
//"DELETE FROM $wpdb->postmeta WHERE NOT EXISTS ( SELECT * FROM $wpdb->posts WHERE $wpdb->postmeta.post_id = $wpdb->posts.ID )";
|
116 |
$wpdb->query("DELETE pm FROM $wpdb->postmeta pm LEFT JOIN $wpdb->posts wp ON wp.ID = pm.post_id WHERE wp.ID IS NULL");
|
117 |
$wpdb->query("DELETE FROM $wpdb->commentmeta WHERE comment_id NOT IN (SELECT comment_id FROM $wpdb->comments)");
|
118 |
$wpdb->query("DELETE FROM $wpdb->term_relationships WHERE term_taxonomy_id=1 AND object_id NOT IN (SELECT id FROM $wpdb->posts)");
|
@@ -124,10 +132,10 @@ function aDBc_cleanAll(){
|
|
124 |
$wpdb->query("DELETE FROM $wpdb->posts WHERE post_type = 'revision'");
|
125 |
$wpdb->query("DELETE FROM $wpdb->posts WHERE post_status = 'draft'");
|
126 |
$wpdb->query("DELETE FROM $wpdb->posts WHERE post_status = 'auto-draft'");
|
|
|
127 |
$wpdb->query("DELETE FROM $wpdb->comments WHERE comment_approved = '0'");
|
128 |
$wpdb->query("DELETE FROM $wpdb->comments WHERE comment_approved = 'spam'");
|
129 |
$wpdb->query("DELETE FROM $wpdb->comments WHERE comment_approved = 'trash'");
|
130 |
-
//"DELETE FROM $wpdb->postmeta WHERE NOT EXISTS ( SELECT * FROM $wpdb->posts WHERE $wpdb->postmeta.post_id = $wpdb->posts.ID )";
|
131 |
$wpdb->query("DELETE pm FROM $wpdb->postmeta pm LEFT JOIN $wpdb->posts wp ON wp.ID = pm.post_id WHERE wp.ID IS NULL");
|
132 |
$wpdb->query("DELETE FROM $wpdb->commentmeta WHERE comment_id NOT IN (SELECT comment_id FROM $wpdb->comments)");
|
133 |
$wpdb->query("DELETE FROM $wpdb->term_relationships WHERE term_taxonomy_id=1 AND object_id NOT IN (SELECT id FROM $wpdb->posts)");
|
@@ -138,40 +146,39 @@ function aDBc_cleanAll(){
|
|
138 |
// This function is used to count unused elements
|
139 |
function adv_db_cleaner_count(){
|
140 |
global $wpdb;
|
141 |
-
$aDBc_count_total_unused = 0;
|
142 |
// If we are in multi-site installation and in main site then we should process all elements in all tables
|
143 |
if(function_exists('is_multisite') && is_multisite() && is_main_site()){
|
144 |
$blogs_ids = $wpdb->get_col("SELECT blog_id FROM $wpdb->blogs");
|
145 |
foreach($blogs_ids as $blog_id){
|
146 |
switch_to_blog($blog_id);
|
147 |
-
$aDBc_count_unused["revision"] +=
|
148 |
-
$aDBc_count_unused["draft"] +=
|
149 |
-
$aDBc_count_unused["autodraft"] +=
|
150 |
-
$aDBc_count_unused["
|
151 |
-
$aDBc_count_unused["
|
152 |
-
$aDBc_count_unused["
|
153 |
-
|
154 |
-
$aDBc_count_unused["postmeta"] +=
|
155 |
-
$aDBc_count_unused["commentmeta"] +=
|
156 |
-
$aDBc_count_unused["relationships"] +=
|
157 |
-
$aDBc_count_unused["feed"] +=
|
158 |
restore_current_blog();
|
159 |
}
|
160 |
-
$aDBc_count_unused["total"] = $aDBc_count_unused["revision"] + $aDBc_count_unused["draft"] + $aDBc_count_unused["autodraft"] + $aDBc_count_unused["moderated"] + $aDBc_count_unused["spam"] + $aDBc_count_unused["trash"] + $aDBc_count_unused["postmeta"] + $aDBc_count_unused["commentmeta"] + $aDBc_count_unused["relationships"] + $aDBc_count_unused["feed"];
|
161 |
}else{
|
162 |
// If we are in single site installation or in multi-site but not in main site, then we should process only current tables
|
163 |
-
$aDBc_count_unused["revision"] =
|
164 |
-
$aDBc_count_unused["draft"] =
|
165 |
-
$aDBc_count_unused["autodraft"] =
|
166 |
-
$aDBc_count_unused["
|
167 |
-
$aDBc_count_unused["
|
168 |
-
$aDBc_count_unused["
|
169 |
-
|
170 |
-
$aDBc_count_unused["postmeta"] =
|
171 |
-
$aDBc_count_unused["commentmeta"] =
|
172 |
-
$aDBc_count_unused["relationships"] =
|
173 |
-
$aDBc_count_unused["feed"] =
|
174 |
-
$aDBc_count_unused["total"] =
|
175 |
}
|
176 |
return $aDBc_count_unused;
|
177 |
}
|
@@ -180,7 +187,7 @@ function adv_db_cleaner_count(){
|
|
180 |
function adv_db_cleaner_optimize(){
|
181 |
global $wpdb;
|
182 |
$prefix = str_replace( '_', '\_', $wpdb->prefix );
|
183 |
-
$adbc_sql = "SELECT table_name, data_free FROM information_schema.tables WHERE table_schema = '".DB_NAME."' and data_free > 0";
|
184 |
if(!is_main_site()){
|
185 |
$adbc_sql = $adbc_sql . " and table_name LIKE '{$prefix}%'";
|
186 |
}
|
23 |
$wpdb->query("DELETE pm FROM $wpdb->postmeta pm LEFT JOIN $wpdb->posts wp ON wp.ID = pm.post_id WHERE wp.ID IS NULL");
|
24 |
$wpdb->query("DELETE FROM $wpdb->term_relationships WHERE term_taxonomy_id=1 AND object_id NOT IN (SELECT id FROM $wpdb->posts)");
|
25 |
break;
|
26 |
+
case "trash-posts":
|
27 |
+
$wpdb->query("DELETE FROM $wpdb->posts WHERE post_status = 'trash'");
|
28 |
+
$wpdb->query("DELETE pm FROM $wpdb->postmeta pm LEFT JOIN $wpdb->posts wp ON wp.ID = pm.post_id WHERE wp.ID IS NULL");
|
29 |
+
$wpdb->query("DELETE FROM $wpdb->term_relationships WHERE term_taxonomy_id=1 AND object_id NOT IN (SELECT id FROM $wpdb->posts)");
|
30 |
+
break;
|
31 |
case "moderated":
|
32 |
$wpdb->query("DELETE FROM $wpdb->comments WHERE comment_approved = '0'");
|
33 |
$wpdb->query("DELETE FROM $wpdb->commentmeta WHERE comment_id NOT IN (SELECT comment_id FROM $wpdb->comments)");
|
41 |
$wpdb->query("DELETE FROM $wpdb->commentmeta WHERE comment_id NOT IN (SELECT comment_id FROM $wpdb->comments)");
|
42 |
break;
|
43 |
case "postmeta":
|
|
|
44 |
$wpdb->query("DELETE pm FROM $wpdb->postmeta pm LEFT JOIN $wpdb->posts wp ON wp.ID = pm.post_id WHERE wp.ID IS NULL");
|
45 |
break;
|
46 |
case "commentmeta":
|
73 |
$wpdb->query("DELETE pm FROM $wpdb->postmeta pm LEFT JOIN $wpdb->posts wp ON wp.ID = pm.post_id WHERE wp.ID IS NULL");
|
74 |
$wpdb->query("DELETE FROM $wpdb->term_relationships WHERE term_taxonomy_id=1 AND object_id NOT IN (SELECT id FROM $wpdb->posts)");
|
75 |
break;
|
76 |
+
case "trash-posts":
|
77 |
+
$wpdb->query("DELETE FROM $wpdb->posts WHERE post_status = 'trash'");
|
78 |
+
$wpdb->query("DELETE pm FROM $wpdb->postmeta pm LEFT JOIN $wpdb->posts wp ON wp.ID = pm.post_id WHERE wp.ID IS NULL");
|
79 |
+
$wpdb->query("DELETE FROM $wpdb->term_relationships WHERE term_taxonomy_id=1 AND object_id NOT IN (SELECT id FROM $wpdb->posts)");
|
80 |
+
break;
|
81 |
case "moderated":
|
82 |
$wpdb->query("DELETE FROM $wpdb->comments WHERE comment_approved = '0'");
|
83 |
$wpdb->query("DELETE FROM $wpdb->commentmeta WHERE comment_id NOT IN (SELECT comment_id FROM $wpdb->comments)");
|
91 |
$wpdb->query("DELETE FROM $wpdb->commentmeta WHERE comment_id NOT IN (SELECT comment_id FROM $wpdb->comments)");
|
92 |
break;
|
93 |
case "postmeta":
|
|
|
94 |
$wpdb->query("DELETE pm FROM $wpdb->postmeta pm LEFT JOIN $wpdb->posts wp ON wp.ID = pm.post_id WHERE wp.ID IS NULL");
|
95 |
break;
|
96 |
case "commentmeta":
|
117 |
$wpdb->query("DELETE FROM $wpdb->posts WHERE post_type = 'revision'");
|
118 |
$wpdb->query("DELETE FROM $wpdb->posts WHERE post_status = 'draft'");
|
119 |
$wpdb->query("DELETE FROM $wpdb->posts WHERE post_status = 'auto-draft'");
|
120 |
+
$wpdb->query("DELETE FROM $wpdb->posts WHERE post_status = 'trash'");
|
121 |
$wpdb->query("DELETE FROM $wpdb->comments WHERE comment_approved = '0'");
|
122 |
$wpdb->query("DELETE FROM $wpdb->comments WHERE comment_approved = 'spam'");
|
123 |
$wpdb->query("DELETE FROM $wpdb->comments WHERE comment_approved = 'trash'");
|
|
|
124 |
$wpdb->query("DELETE pm FROM $wpdb->postmeta pm LEFT JOIN $wpdb->posts wp ON wp.ID = pm.post_id WHERE wp.ID IS NULL");
|
125 |
$wpdb->query("DELETE FROM $wpdb->commentmeta WHERE comment_id NOT IN (SELECT comment_id FROM $wpdb->comments)");
|
126 |
$wpdb->query("DELETE FROM $wpdb->term_relationships WHERE term_taxonomy_id=1 AND object_id NOT IN (SELECT id FROM $wpdb->posts)");
|
132 |
$wpdb->query("DELETE FROM $wpdb->posts WHERE post_type = 'revision'");
|
133 |
$wpdb->query("DELETE FROM $wpdb->posts WHERE post_status = 'draft'");
|
134 |
$wpdb->query("DELETE FROM $wpdb->posts WHERE post_status = 'auto-draft'");
|
135 |
+
$wpdb->query("DELETE FROM $wpdb->posts WHERE post_status = 'trash'");
|
136 |
$wpdb->query("DELETE FROM $wpdb->comments WHERE comment_approved = '0'");
|
137 |
$wpdb->query("DELETE FROM $wpdb->comments WHERE comment_approved = 'spam'");
|
138 |
$wpdb->query("DELETE FROM $wpdb->comments WHERE comment_approved = 'trash'");
|
|
|
139 |
$wpdb->query("DELETE pm FROM $wpdb->postmeta pm LEFT JOIN $wpdb->posts wp ON wp.ID = pm.post_id WHERE wp.ID IS NULL");
|
140 |
$wpdb->query("DELETE FROM $wpdb->commentmeta WHERE comment_id NOT IN (SELECT comment_id FROM $wpdb->comments)");
|
141 |
$wpdb->query("DELETE FROM $wpdb->term_relationships WHERE term_taxonomy_id=1 AND object_id NOT IN (SELECT id FROM $wpdb->posts)");
|
146 |
// This function is used to count unused elements
|
147 |
function adv_db_cleaner_count(){
|
148 |
global $wpdb;
|
|
|
149 |
// If we are in multi-site installation and in main site then we should process all elements in all tables
|
150 |
if(function_exists('is_multisite') && is_multisite() && is_main_site()){
|
151 |
$blogs_ids = $wpdb->get_col("SELECT blog_id FROM $wpdb->blogs");
|
152 |
foreach($blogs_ids as $blog_id){
|
153 |
switch_to_blog($blog_id);
|
154 |
+
$aDBc_count_unused["revision"] += $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->posts WHERE post_type = 'revision'");
|
155 |
+
$aDBc_count_unused["draft"] += $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->posts WHERE post_status = 'draft'");
|
156 |
+
$aDBc_count_unused["autodraft"] += $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->posts WHERE post_status = 'auto-draft'");
|
157 |
+
$aDBc_count_unused["trashposts"] += $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->posts WHERE post_status = 'trash'");
|
158 |
+
$aDBc_count_unused["moderated"] += $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->comments WHERE comment_approved = '0'");
|
159 |
+
$aDBc_count_unused["spam"] += $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->comments WHERE comment_approved = 'spam'");
|
160 |
+
$aDBc_count_unused["trash"] += $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->comments WHERE comment_approved = 'trash'");
|
161 |
+
$aDBc_count_unused["postmeta"] += $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->postmeta pm LEFT JOIN $wpdb->posts wp ON wp.ID = pm.post_id WHERE wp.ID IS NULL");
|
162 |
+
$aDBc_count_unused["commentmeta"] += $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->commentmeta WHERE comment_id NOT IN (SELECT comment_id FROM $wpdb->comments)");
|
163 |
+
$aDBc_count_unused["relationships"] += $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->term_relationships WHERE term_taxonomy_id=1 AND object_id NOT IN (SELECT id FROM $wpdb->posts)");
|
164 |
+
$aDBc_count_unused["feed"] += $wpdb->get_var("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_%'");
|
165 |
restore_current_blog();
|
166 |
}
|
167 |
+
$aDBc_count_unused["total"] = $aDBc_count_unused["revision"] + $aDBc_count_unused["draft"] + $aDBc_count_unused["autodraft"] + $aDBc_count_unused["trashposts"] + $aDBc_count_unused["moderated"] + $aDBc_count_unused["spam"] + $aDBc_count_unused["trash"] + $aDBc_count_unused["postmeta"] + $aDBc_count_unused["commentmeta"] + $aDBc_count_unused["relationships"] + $aDBc_count_unused["feed"];
|
168 |
}else{
|
169 |
// If we are in single site installation or in multi-site but not in main site, then we should process only current tables
|
170 |
+
$aDBc_count_unused["revision"] = $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->posts WHERE post_type = 'revision'");
|
171 |
+
$aDBc_count_unused["draft"] = $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->posts WHERE post_status = 'draft'");
|
172 |
+
$aDBc_count_unused["autodraft"] = $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->posts WHERE post_status = 'auto-draft'");
|
173 |
+
$aDBc_count_unused["trashposts"] = $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->posts WHERE post_status = 'trash'");
|
174 |
+
$aDBc_count_unused["moderated"] = $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->comments WHERE comment_approved = '0'");
|
175 |
+
$aDBc_count_unused["spam"] = $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->comments WHERE comment_approved = 'spam'");
|
176 |
+
$aDBc_count_unused["trash"] = $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->comments WHERE comment_approved = 'trash'");
|
177 |
+
$aDBc_count_unused["postmeta"] = $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->postmeta pm LEFT JOIN $wpdb->posts wp ON wp.ID = pm.post_id WHERE wp.ID IS NULL");
|
178 |
+
$aDBc_count_unused["commentmeta"] = $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->commentmeta WHERE comment_id NOT IN (SELECT comment_id FROM $wpdb->comments)");
|
179 |
+
$aDBc_count_unused["relationships"] = $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->term_relationships WHERE term_taxonomy_id=1 AND object_id NOT IN (SELECT id FROM $wpdb->posts)");
|
180 |
+
$aDBc_count_unused["feed"] = $wpdb->get_var("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_%'");
|
181 |
+
$aDBc_count_unused["total"] = $aDBc_count_unused["revision"] + $aDBc_count_unused["draft"] + $aDBc_count_unused["autodraft"] + $aDBc_count_unused["trashposts"] + $aDBc_count_unused["moderated"] + $aDBc_count_unused["spam"] + $aDBc_count_unused["trash"] + $aDBc_count_unused["postmeta"] + $aDBc_count_unused["commentmeta"] + $aDBc_count_unused["relationships"] + $aDBc_count_unused["feed"];
|
182 |
}
|
183 |
return $aDBc_count_unused;
|
184 |
}
|
187 |
function adv_db_cleaner_optimize(){
|
188 |
global $wpdb;
|
189 |
$prefix = str_replace( '_', '\_', $wpdb->prefix );
|
190 |
+
$adbc_sql = "SELECT table_name, data_free FROM information_schema.tables WHERE table_schema = '".DB_NAME."' and Engine <> 'InnoDB' and data_free > 0";
|
191 |
if(!is_main_site()){
|
192 |
$adbc_sql = $adbc_sql . " and table_name LIKE '{$prefix}%'";
|
193 |
}
|
includes/optimize-db.php
CHANGED
@@ -26,7 +26,7 @@
|
|
26 |
$total_tables_to_optimize = 0;
|
27 |
$total_lost = 0;
|
28 |
$prefix = str_replace( '_', '\_', $wpdb->prefix );
|
29 |
-
$adbc_sql = "SELECT table_name, data_free FROM information_schema.tables WHERE table_schema = '".DB_NAME."' and data_free > 0";
|
30 |
if(!is_main_site()){
|
31 |
$adbc_sql = $adbc_sql . " and table_name LIKE '{$prefix}%'";
|
32 |
}
|
@@ -96,7 +96,19 @@
|
|
96 |
<input type="hidden" name="aDBc_optimize_schedule_form" value="" />
|
97 |
<input style="height:30px" type="submit" class="button-primary" value="<?php _e('Save','advanced-db-cleaner'); ?>" />
|
98 |
</form>
|
99 |
-
<div style="padding-top:15px; color:#111
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
100 |
</div>
|
101 |
|
102 |
<div class="aDBCRightBox">
|
26 |
$total_tables_to_optimize = 0;
|
27 |
$total_lost = 0;
|
28 |
$prefix = str_replace( '_', '\_', $wpdb->prefix );
|
29 |
+
$adbc_sql = "SELECT table_name, data_free FROM information_schema.tables WHERE table_schema = '".DB_NAME."' and Engine <> 'InnoDB' and data_free > 0";
|
30 |
if(!is_main_site()){
|
31 |
$adbc_sql = $adbc_sql . " and table_name LIKE '{$prefix}%'";
|
32 |
}
|
96 |
<input type="hidden" name="aDBc_optimize_schedule_form" value="" />
|
97 |
<input style="height:30px" type="submit" class="button-primary" value="<?php _e('Save','advanced-db-cleaner'); ?>" />
|
98 |
</form>
|
99 |
+
<div style="padding-top:15px; color:#111;">
|
100 |
+
<?php _e('Next run:','advanced-db-cleaner'); ?>
|
101 |
+
<span style="color: green">
|
102 |
+
<?php
|
103 |
+
if(wp_next_scheduled('aDBc_optimize_scheduler')){
|
104 |
+
$date_format = 'M j, Y @ H:i:s';
|
105 |
+
echo get_date_from_gmt(date('Y-m-d H:i:s', wp_next_scheduled('aDBc_optimize_scheduler')), $date_format);
|
106 |
+
}else{
|
107 |
+
echo 'Not set';
|
108 |
+
}
|
109 |
+
?>
|
110 |
+
</span>
|
111 |
+
</div>
|
112 |
</div>
|
113 |
|
114 |
<div class="aDBCRightBox">
|
includes/reset-db.php
CHANGED
@@ -6,11 +6,13 @@ if (!isset($aDBc_admin->user_login ) || $aDBc_admin->user_level < 10 ){
|
|
6 |
$aDBc_admin_exists = 0;
|
7 |
}
|
8 |
?>
|
|
|
9 |
<div class="box-warning">
|
10 |
<span style="color: #EA823A; font-weight:bold"><?php _e('WARNING:','advanced-db-cleaner'); ?></span>
|
11 |
<?php _e('The reset makes a fresh installation of your database. Therefore, ANY data in your database will be lost. This option is used primarily by developers who are testing their websites and who do not want to install wordpress after each test. Please do not use this option if you want to keep your posts and pages.','advanced-db-cleaner'); ?>
|
12 |
|
13 |
</div>
|
|
|
14 |
<div class="box-info">
|
15 |
<ul style="list-style: disc outside none;">
|
16 |
<li><?php _e('The reset does not delete or modify any of your plugins files or server files.','advanced-db-cleaner'); ?></li>
|
@@ -23,8 +25,11 @@ if (!isset($aDBc_admin->user_login ) || $aDBc_admin->user_level < 10 ){
|
|
23 |
<li><?php _e('After the reset, you will be redirected to the admin login page.','advanced-db-cleaner'); ?></li>
|
24 |
</ul>
|
25 |
</div>
|
|
|
26 |
<h3 style="color:#32373c; padding-top: 10px"><?php _e('Reset database','advanced-db-cleaner'); ?></h3>
|
|
|
27 |
<p><?php _e('Type "<strong>reset</strong>" in the confirmation field below to confirm the reset and then click the reset button.','advanced-db-cleaner'); ?></p>
|
|
|
28 |
<form id="wordpress_reset_form" action="" method="post">
|
29 |
<input type="hidden" name="aDBc_reset_form" value="" />
|
30 |
<input type="text" name="aDBc_reset_comfirmation" value="" />
|
6 |
$aDBc_admin_exists = 0;
|
7 |
}
|
8 |
?>
|
9 |
+
|
10 |
<div class="box-warning">
|
11 |
<span style="color: #EA823A; font-weight:bold"><?php _e('WARNING:','advanced-db-cleaner'); ?></span>
|
12 |
<?php _e('The reset makes a fresh installation of your database. Therefore, ANY data in your database will be lost. This option is used primarily by developers who are testing their websites and who do not want to install wordpress after each test. Please do not use this option if you want to keep your posts and pages.','advanced-db-cleaner'); ?>
|
13 |
|
14 |
</div>
|
15 |
+
|
16 |
<div class="box-info">
|
17 |
<ul style="list-style: disc outside none;">
|
18 |
<li><?php _e('The reset does not delete or modify any of your plugins files or server files.','advanced-db-cleaner'); ?></li>
|
25 |
<li><?php _e('After the reset, you will be redirected to the admin login page.','advanced-db-cleaner'); ?></li>
|
26 |
</ul>
|
27 |
</div>
|
28 |
+
|
29 |
<h3 style="color:#32373c; padding-top: 10px"><?php _e('Reset database','advanced-db-cleaner'); ?></h3>
|
30 |
+
|
31 |
<p><?php _e('Type "<strong>reset</strong>" in the confirmation field below to confirm the reset and then click the reset button.','advanced-db-cleaner'); ?></p>
|
32 |
+
|
33 |
<form id="wordpress_reset_form" action="" method="post">
|
34 |
<input type="hidden" name="aDBc_reset_form" value="" />
|
35 |
<input type="text" name="aDBc_reset_comfirmation" value="" />
|
includes/sidebar.php
CHANGED
@@ -1,5 +1,5 @@
|
|
1 |
<div>
|
2 |
-
<center><h2 style="color:#999; font-size:18px;">Advanced Database<br/> Cleaner <?php echo ADB_CLEANER_PLUGIN_VERSION; ?></h2></center>
|
3 |
<p style="text-align: justify"><?php _e('If you love this plugin and would like to make a donation, then you\'re awesome.', 'advanced-db-cleaner'); ?></p>
|
4 |
<p style="text-align:right"><?php _e('Thank you!', 'advanced-db-cleaner'); ?></p>
|
5 |
<center>
|
@@ -12,26 +12,25 @@
|
|
12 |
<div style="height: 20px; background-color:#f9f9f9;">
|
13 |
<a style="text-decoration: none" href="https://wordpress.org/support/view/plugin-reviews/advanced-database-cleaner#postform">
|
14 |
<div class="aDBC-supportUs" style="width:250px; height:20px">
|
15 |
-
<span style="font-size: 13px; color:#777"><?php
|
16 |
</div>
|
17 |
</a>
|
18 |
</div>
|
19 |
|
20 |
<div style="height: 20px; clear:both;">
|
21 |
<div style="float:left">
|
22 |
-
<span style="font-size: 13px; color:#777"><?php
|
23 |
-
|
24 |
</div>
|
25 |
<div style="float:right">
|
26 |
-
<a style="text-decoration: none" href="https://wordpress.org/support/plugin/advanced-database-cleaner"><?php
|
27 |
</div>
|
28 |
</div>
|
29 |
|
30 |
<div style=" background-color:#f9f9f9; height: 20px; clear:both;">
|
31 |
<div style="float:left">
|
32 |
-
<span style="font-size: 13px; color:#777"><?php
|
33 |
</div>
|
34 |
<div style="float:right">
|
35 |
-
{
|
36 |
</div>
|
37 |
</div>
|
1 |
<div>
|
2 |
+
<center><h2 style="color:#999; font-size:18px; line-height:26px; font-weight:normal">Advanced Database<br/> Cleaner <?php echo ADB_CLEANER_PLUGIN_VERSION; ?></h2></center>
|
3 |
<p style="text-align: justify"><?php _e('If you love this plugin and would like to make a donation, then you\'re awesome.', 'advanced-db-cleaner'); ?></p>
|
4 |
<p style="text-align:right"><?php _e('Thank you!', 'advanced-db-cleaner'); ?></p>
|
5 |
<center>
|
12 |
<div style="height: 20px; background-color:#f9f9f9;">
|
13 |
<a style="text-decoration: none" href="https://wordpress.org/support/view/plugin-reviews/advanced-database-cleaner#postform">
|
14 |
<div class="aDBC-supportUs" style="width:250px; height:20px">
|
15 |
+
<span style="font-size: 13px; color:#777"><?php _e('Please rate us', 'advanced-db-cleaner'); ?></span>
|
16 |
</div>
|
17 |
</a>
|
18 |
</div>
|
19 |
|
20 |
<div style="height: 20px; clear:both;">
|
21 |
<div style="float:left">
|
22 |
+
<span style="font-size: 13px; color:#777"><?php _e('Having issues?', 'advanced-db-cleaner'); ?></span>
|
|
|
23 |
</div>
|
24 |
<div style="float:right">
|
25 |
+
<a style="text-decoration: none" href="https://wordpress.org/support/plugin/advanced-database-cleaner"><?php _e('Create a ticket', 'advanced-db-cleaner'); ?></a>
|
26 |
</div>
|
27 |
</div>
|
28 |
|
29 |
<div style=" background-color:#f9f9f9; height: 20px; clear:both;">
|
30 |
<div style="float:left">
|
31 |
+
<span style="font-size: 13px; color:#777"><?php _e('Developed by:', 'advanced-db-cleaner'); ?></span>
|
32 |
</div>
|
33 |
<div style="float:right">
|
34 |
+
<a style="text-decoration: none" href="http://www.wpdatabasecleaner.com" target="_blank">{ Younes JFR. }</a>
|
35 |
</div>
|
36 |
</div>
|
index.php
CHANGED
@@ -1,3 +1,3 @@
|
|
1 |
<?php
|
2 |
-
#Silence is golden
|
3 |
?>
|
1 |
<?php
|
2 |
+
#Silence is golden
|
3 |
?>
|