PluginProbe
InfiniteWP Client / trunk
InfiniteWP Client vtrunk
1.13.10 1.13.7 trunk 0.1.4 0.1.5 1.0.0 1.0.1 1.0.2 1.0.3 1.0.4 1.1.0 1.1.1 1.1.10 1.1.2 1.1.3 1.1.4 1.1.5 1.1.6 1.1.7 1.1.8 1.1.9 1.11.0 1.11.1 1.12.1 1.12.3 All 92 releases
iwp-client / addons / wp_optimize / optimize.class.php

optimize.class.php in InfiniteWP Client trunk, at addons/wp_optimize/optimize.class.php

227 lines 8.4 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 if ( ! defined('ABSPATH') )
3 die();
4
5 global $wpdb;
6 class IWP_MMB_Optimize extends IWP_MMB_Core
7 {
8 function __construct()
9 {
10 parent::__construct();
11 }
12
13 function cleanup_system($cleanupType){
14
15 $cleanup_values = array();
16 $cleanup_values['value_array'] = array();
17 $text = '';
18
19 if (isset($cleanupType["clean-revisions"])) {
20 $values = self::cleanup_type_process('revisions', $cleanupType['numberOfRevisions']);
21 $text .= "<span class='wpm_results'>" . $values['message'] . "</span>";
22 $cleanup_values['value_array']['revisions'] = $values['value'];
23 }
24
25 if (isset($cleanupType["clean-autodraft"])) {
26 $values = self::cleanup_type_process('autodraft');
27 $text .= "<span class='wpm_results'>" . $values['message'] . "</span>";
28 $cleanup_values['value_array']['autodraft'] = $values['value'];
29 }
30
31 if (isset($cleanupType["clean-comments"])) {
32 $values = self::cleanup_type_process('spam');
33 $text .= "<span class='wpm_results'>" . $values['message'] . "</span>";
34 $cleanup_values['value_array']['spam'] = $values['value'];
35 }
36
37 if (isset($cleanupType["unapproved-comments"])) {
38 $values = self::cleanup_type_process('unapproved');
39 $text .= "<span class='wpm_results'>" . $values['message'] . "</span>";
40 $cleanup_values['value_array']['unapproved'] = $values['value'];
41 }
42 if (isset($cleanupType["trash-post"])) {
43 $values = self::cleanup_type_process('trash-post');
44 $text .= "<span class='wpm_results'>" . $values['message'] . "</span>";
45 $cleanup_values['value_array']['trash-post'] = $values['value'];
46 }
47 if (isset($cleanupType["trash-comments"])) {
48 $values = self::cleanup_type_process('trash-comments');
49 $text .= "<span class='wpm_results'>" . $values['message'] . "</span>";
50 $cleanup_values['value_array']['trash-comments'] = $values['value'];
51 }
52 if (isset($cleanupType["meta-comments"])) {
53 $values = self::cleanup_type_process('meta-comments');
54 $text .= "<span class='wpm_results'>" . $values['message'] . "</span>";
55 $cleanup_values['value_array']['meta-comments'] = $values['value'];
56 }
57 if (isset($cleanupType["meta-posts"])) {
58 $values = self::cleanup_type_process('meta-posts');
59 $text .= "<span class='wpm_results'>" . $values['message'] . "</span>";
60 $cleanup_values['value_array']['meta-posts'] = $values['value'];
61 }
62 if (isset($cleanupType["pingbacks"])) {
63 $values = self::cleanup_type_process('pingbacks');
64 $text .= "<span class='wpm_results'>" . $values['message'] . "</span>";
65 $cleanup_values['value_array']['pingbacks'] = $values['value'];
66 }
67 if (isset($cleanupType["trackbacks"])) {
68 $values = self::cleanup_type_process('trackbacks');
69 $text .= "<span class='wpm_results'>" . $values['message'] . "</span>";
70 $cleanup_values['value_array']['trackbacks'] = $values['value'];
71 }
72
73
74 $text .= '<br>';
75
76 if (isset($cleanupType["optimize-db"])) {
77 $values = self::cleanup_type_process('optimize-db');
78 $text .= "<span class='wpm_results_db'>" . $values['message'] . "</span>";
79 $cleanup_values['value_array']['optimize-db'] = $values['value'];
80 //$text .= DB_NAME.__(" Database Optimized!<br>", 'wp-optimize');
81 }
82
83 if ($text !==''){
84 $cleanup_values['message'] = $text;
85 return $cleanup_values;
86 }
87 }
88
89 function cleanup_type_process($cleanupType, $numberOfRevisions = 0){
90 global $wpdb;
91 $clean = ""; $message = "";
92 $message_array = array();
93 //$message_array['value'] = array();
94 $optimized = array();
95
96 switch ($cleanupType) {
97
98 case "revisions":
99 $revisionWhere = '';
100 if (!empty($numberOfRevisions) && $numberOfRevisions != 0) {
101 $numberOfRevisions = absint($numberOfRevisions);
102 $revisionQuery = $wpdb->prepare("SELECT ID FROM $wpdb->posts WHERE post_type = 'revision' ORDER BY ID DESC LIMIT %d", $numberOfRevisions);
103 $revisionIDs = $wpdb->get_results( $revisionQuery, ARRAY_N );
104 $revisionsIDsArray = array();
105 foreach ($revisionIDs as $key => $revisionID) {
106 if ($revisionID) {
107 $revisionsIDsArray[]= $revisionID[0];
108 }
109 }
110 $revisionWhere = " AND ID NOT IN('".implode("', '", $revisionsIDsArray)."')";
111 }
112 $clean = "DELETE FROM $wpdb->posts WHERE post_type = 'revision'".$revisionWhere;
113 $revisions = $wpdb->query( $clean );
114 $message .= __('Post revisions deleted - ', 'wp-optimize') . $revisions;
115 $message_array['value'] = $revisions;
116 //$message_array['del_post_rev']['message'] = $revisions.__(' post revisions deleted<br>', 'wp-optimize');
117
118 break;
119
120
121 case "autodraft":
122 $clean = "DELETE FROM $wpdb->posts WHERE post_status = 'auto-draft'";
123 $autodraft = $wpdb->query( $clean );
124 $message .= __('Auto drafts deleted - ', 'wp-optimize') . $autodraft;
125 $message_array['value'] = $autodraft;
126 //$message_array['del_auto_drafts']['message'] = $autodraft.__(' auto drafts deleted<br>', 'wp-optimize');
127
128 break;
129
130 case "spam":
131 $clean = "DELETE FROM $wpdb->comments WHERE comment_approved = 'spam';";
132 $comments = $wpdb->query( $clean );
133 $message .= __('Spam comments deleted - ', 'wp-optimize') . $comments;
134 $message_array['value'] = $comments;
135 //$message_array['del_spam_comments']['message'] = $comments.__(' spam comments deleted<br>', 'wp-optimize');
136
137 break;
138
139 case "unapproved":
140 $clean = "DELETE FROM $wpdb->comments WHERE comment_approved = '0';";
141 $comments = $wpdb->query( $clean );
142 $message .= __('Unapproved comments deleted - ', 'wp-optimize') . $comments;
143 $message_array['value'] = $comments;
144 //$message_array['del_unapproved_comments']['message'] = $comments.__(' unapproved comments deleted<br>', 'wp-optimize');
145
146 break;
147
148 case "trash-post":
149 $clean = "DELETE FROM $wpdb->posts WHERE post_status = 'trash';";
150 $comments = $wpdb->query( $clean );
151 $message .= __('Trashed posts deleted - ', 'wp-optimize') . $comments;
152 $message_array['value'] = $comments;
153 //$message_array['del_unapproved_comments']['message'] = $comments.__(' unapproved comments deleted<br>', 'wp-optimize');
154
155 break;
156
157 case "trash-comments":
158 $clean = "DELETE FROM $wpdb->comments WHERE comment_approved = 'trash';";
159 $comments = $wpdb->query( $clean );
160 $message .= __('Trashed comments deleted - ', 'wp-optimize') . $comments;
161 $message_array['value'] = $comments;
162 break;
163 case "meta-comments":
164 $clean = "DELETE cm FROM $wpdb->commentmeta cm LEFT JOIN $wpdb->comments wp ON wp.comment_ID = cm.comment_id WHERE wp.comment_ID IS NULL";
165 $comments = $wpdb->query( $clean );
166 $message .= __('Unused comments metadata deleted - ', 'wp-optimize') . $comments;
167 $message_array['value'] = $comments;
168 break;
169
170 case "meta-posts":
171 $clean = "DELETE pm FROM $wpdb->postmeta pm LEFT JOIN $wpdb->posts wp ON wp.ID = pm.post_id WHERE wp.ID IS NULL;";
172 $comments = $wpdb->query( $clean );
173 $message .= __('Unused posts metadata deleted - ', 'wp-optimize') . $comments;
174 $message_array['value'] = $comments;
175 break;
176
177 case "pingbacks":
178 $clean = "DELETE FROM $wpdb->comments WHERE comment_type = 'pingback';";
179 $comments = $wpdb->query( $clean );
180 $message .= __('Pingbacks deleted - ', 'wp-optimize') . $comments;
181 $message_array['value'] = $comments;
182 break;
183
184 case "trackbacks":
185 $clean = "DELETE FROM $wpdb->comments WHERE comment_type = 'trackback';";
186 $comments = $wpdb->query( $clean );
187 $message .= __('Trackbacks deleted - ', 'wp-optimize') . $comments;
188 $message_array['value'] = $comments;
189
190 break;
191 case "optimize-db":
192 self::optimize_tables(true);
193 $message .= "Database ".DB_NAME." Optimized!";
194 $message_array['value'] = DB_NAME;
195
196 break;
197
198 default:
199 $message .= __('NO Actions Taken', 'wp-optimize');
200 $message_array['value'] = 0;
201
202 break;
203 } // end of switch
204
205 $message_array['message'] = $message;
206 return $message_array;
207
208 } // end of function
209
210 function optimize_tables($Optimize=false){
211 global $wpdb;
212 $db_clean = DB_NAME;
213
214 $local_query = 'SHOW TABLE STATUS FROM `'. $db_clean.'`';
215 $result = $wpdb->get_results($local_query);
216 if ($wpdb->num_rows){
217 foreach ($result as $row)
218 {
219 $local_query = 'OPTIMIZE TABLE '.$row->Name;
220 $resultat = $wpdb->get_results($local_query);
221 }
222 }
223
224 }
225
226 }
227 ?>