PluginProbe ʕ •ᴥ•ʔ
WP-Optimize – Cache, Compress images, Minify & Clean database to boost page speed & performance / 1.8.9.9
WP-Optimize – Cache, Compress images, Minify & Clean database to boost page speed & performance v1.8.9.9
4.5.4 4.5.3 4.5.2 3.2.20 3.2.21 3.2.22 3.2.3 3.2.5 3.2.6 3.2.7 3.2.9 3.3.0 3.3.1 3.3.2 3.4.0 3.4.1 3.4.2 3.5.0 3.6.0 3.7.0 3.7.1 3.8.0 4.0.0 4.0.1 4.1.0 4.1.1 4.2.0 4.2.1 4.2.2 4.2.3 4.2.4 4.3.0 4.3.1 4.4.0 4.4.1 4.5.0 4.5.1 3.2.2 trunk 0.7.0 1.8.9.10 1.8.9.7 1.8.9.8 1.8.9.9 1.9 1.9.1 2.0.1 2.1.0 2.1.1 2.2.0 2.2.1 2.2.10 2.2.11 2.2.12 2.2.13 2.2.2 2.2.3 2.2.4 2.2.6 2.2.8 2.2.9 2.3.0 2.3.1 2.3.2 2.3.3 2.3.4 3.0.0 3.0.1 3.0.10 3.0.11 3.0.12 3.0.13 3.0.14 3.0.15 3.0.16 3.0.18 3.0.19 3.0.2 3.0.3 3.0.4 3.0.5 3.0.7 3.0.8 3.0.9 3.1.0 3.1.1 3.1.10 3.1.11 3.1.12 3.1.2 3.1.4 3.1.5 3.1.6 3.1.7 3.1.8 3.1.9 3.2.1 3.2.10 3.2.11 3.2.12 3.2.13 3.2.14 3.2.15 3.2.16 3.2.17 3.2.18 3.2.19
wp-optimize / wp-optimize-main.php
wp-optimize Last commit date
css 11 years ago languages 11 years ago LICENSE.txt 11 years ago elegantthemes_sm.png 12 years ago embedplus.png 11 years ago index.htm 12 years ago readme.txt 11 years ago screenshot-1.jpg 12 years ago screenshot-2.jpg 12 years ago screenshot-3.jpg 12 years ago screenshot-4.jpg 12 years ago screenshot-5.jpg 12 years ago translate.txt 11 years ago wp-optimize-admin.php 12 years ago wp-optimize-common.php 11 years ago wp-optimize-credits.php 11 years ago wp-optimize-main.php 11 years ago wp-optimize-settings.php 11 years ago wp-optimize-tables.php 11 years ago wp-optimize.php 11 years ago wp-optimize.png 11 years ago wpo.png 12 years ago
wp-optimize-main.php
538 lines
1 <?php
2 # --------------------------------------- #
3 # prevent file from being accessed directly
4 # --------------------------------------- #
5 if ( ! defined( 'WPINC' ) ) {
6 die;
7 }
8
9 $text = '';
10
11 if (isset($_POST["clean-revisions"])) {
12 $text .= wpo_cleanUpSystem('revisions');
13 }
14
15 if ( isset( $_POST["clean-revisions"] ) ) {
16 $user_options["user-revisions"] = TRUE;
17 } else {
18 $user_options["user-revisions"] = FALSE;
19 }
20
21
22 if (isset($_POST["clean-autodraft"])) {
23 $text .= wpo_cleanUpSystem('autodraft');
24
25
26 //$user_options["user-drafts"] = $user_options["user-drafts"] ? 'true' : 'false';
27 }
28
29 if ( isset( $_POST["clean-autodraft"] ) ) {
30 $user_options["user-drafts"] = TRUE;
31 } else {
32 $user_options["user-drafts"] = FALSE;
33 }
34
35 if (isset($_POST["clean-comments"])) {
36 $text .= wpo_cleanUpSystem('spam');
37 }
38
39 if ( isset( $_POST["clean-comments"] ) ) {
40 $user_options["user-spams"] = TRUE;
41 } else {
42 $user_options["user-spams"] = FALSE;
43 }
44
45
46 if (isset($_POST["unapproved-comments"])) {
47 $text .= wpo_cleanUpSystem('unapproved');
48 }
49
50 if ( isset( $_POST["unapproved-comments"] ) ) {
51 $user_options["user-unapproved"] = TRUE;
52 } else {
53 $user_options["user-unapproved"] = FALSE;
54 }
55
56 if (isset($_POST["clean-pingbacks"])) {
57 $text .= wpo_cleanUpSystem('pingbacks');
58 }
59 if (isset($_POST["clean-trackbacks"])) {
60 $text .= wpo_cleanUpSystem('trackbacks');
61 }
62
63 if (isset($_POST["clean-transient"])) {
64 $text .= wpo_cleanUpSystem('transient_options');
65 }
66
67 if (isset($_POST["clean-postmeta"])) {
68 $text .= wpo_cleanUpSystem('postmeta');
69 }
70
71 if (isset($_POST["clean-tags"])) {
72 $text .= wpo_cleanUpSystem('tags');
73 }
74
75 if (isset($_POST["optimize-db"])) {
76 $text .= DB_NAME.' '.__('Database Optimized!', 'wp-optimize').'<br>';
77 }
78 if ( isset( $_POST["optimize-db"] ) ) {
79 $user_options["user-optimize"] = TRUE;
80 } else {
81 $user_options["user-optimize"] = FALSE;
82 }
83
84 if (isset($_POST["wp-optimize"])) {
85 update_option( 'wp-optimize-settings', $user_options );
86 }
87
88
89 if ($text !==''){
90 echo '<div id="message" class="updated">';
91 echo '<strong>'.$text.'</strong></div>';
92 }
93
94 ?>
95
96
97
98 <?php
99 Function optimizeTablesQuick($Optimize){
100 global $wpdb;
101 $total_gain = 0;
102 $row_usage = 0;
103 $data_usage = 0;
104 $index_usage = 0;
105 $overhead_usage = 0;
106 $tablesstatus = $wpdb->get_results("SHOW TABLE STATUS");
107
108 foreach($tablesstatus as $tablestatus) {
109
110 $row_usage += $tablestatus->Rows;
111 $data_usage += $tablestatus->Data_length;
112 $index_usage += $tablestatus->Index_length;
113 if ($tablestatus->Engine != 'InnoDB'){
114 $overhead_usage += $tablestatus->Data_free;
115 $total_gain += $tablestatus->Data_free;
116 }
117 }
118
119 if ($Optimize == "yes" ){
120 //if ($tablestatus->Engine != 'InnoDB'){
121 $tables = $wpdb->get_col("SHOW TABLES");
122 foreach($tables as $table_name) {
123 $local_query = 'OPTIMIZE TABLE `'.$table_name.'`';
124 wpo_debugLog('optimizing .... '.$table_name);
125 $result_query = $wpdb->query($local_query);
126 } //end for
127
128 wpo_updateTotalCleaned(strval($total_gain));
129
130 // #TODO for testing only
131 // $thistime = current_time( "timestamp", 0 );
132 // $thedate = gmdate(get_option('date_format') . ' ' . get_option('time_format'), $thistime );
133 // list($part3, $part4) = wpo_getCurrentDBSize();
134 // wpo_sendEmail($thedate, strval($part4)); //TODO TEMPORARY - send email to admin
135
136 // wpo_debugLog('Invoked+ Updating options with value +'.$part4);
137
138 wpo_debugLog('Total Gain .... '.strval($total_gain));
139 } //end if
140 //
141 // clear up total gain values
142 $total_gain = 0;
143
144 } // end of function
145
146 ?>
147
148
149
150 <div class="wpo_section wpo_group">
151 <form action="#" method="post" enctype="multipart/form-data" name="optimize_form" id="optimize_form">
152 <div class="wpo_col wpo_span_1_of_3">
153 <div class="postbox">
154 <!-- <h3 class="hndle"><?php _e('Clean-up options', 'wp-optimize'); ?></h3> -->
155 <div class="inside">
156 <h3><?php _e('Clean-up options', 'wp-optimize');
157 $wpo_user_selection = get_option( 'wp-optimize-settings' );
158 //var_dump($wpo_user_selection);
159 ?></h3>
160 <p>
161 <label>
162 <input name="clean-revisions" id="clean-revisions" type="checkbox" value="true" <?php echo $wpo_user_selection['user-revisions'] == 'true' ? 'checked="checked"':''; ?> />
163 <?php
164 if ( get_option( OPTION_NAME_RETENTION_ENABLED, 'false' ) == 'true' ) {
165 _e('Clean post revisions which are older than ', 'wp-optimize');
166 echo get_option( OPTION_NAME_RETENTION_PERIOD, '2' );
167 echo ' ';
168 _e('weeks', 'wp-optimize');
169 } else {
170 _e('Clean all post revisions', 'wp-optimize');
171 }
172 ?>
173 </label>
174 <br />
175 <small>&nbsp;&nbsp;<?php _e(wpo_getInfo('revisions'), 'wp-optimize'); ?></small>
176 </p>
177
178 <p>
179 <label>
180 <input name="clean-autodraft" id="clean-autodraft" type="checkbox" value="true" <?php echo $wpo_user_selection['user-drafts'] == 'true' ? 'checked="checked"':''; ?> />
181 <?php
182 if ( get_option( OPTION_NAME_RETENTION_ENABLED, 'false' ) == 'true' ) {
183 _e('Clean auto draft posts which are older than ', 'wp-optimize');
184 echo get_option( OPTION_NAME_RETENTION_PERIOD, '2' );
185 echo ' ';
186 _e('weeks', 'wp-optimize');
187 } else {
188 _e('Clean all auto draft posts and posts in trash', 'wp-optimize');
189 }
190 ?>
191 </label>
192
193 <br />
194 <small>&nbsp;&nbsp;<?php _e(wpo_getInfo('autodraft'), 'wp-optimize'); ?></small>
195 </p>
196
197
198 <p>
199 <label>
200 <input name="clean-comments" id="clean-comments" type="checkbox" value="true" <?php echo $wpo_user_selection['user-spams'] == 'true' ? 'checked="checked"':''; ?> />
201 <?php
202 if ( get_option( OPTION_NAME_RETENTION_ENABLED, 'false' ) == 'true' ) {
203 _e('Remove spam comments which are older than ', 'wp-optimize');
204 echo get_option( OPTION_NAME_RETENTION_PERIOD, '2' );
205 echo ' ';
206 _e('weeks', 'wp-optimize');
207 } else {
208 _e('Remove spam comments and comments in trash', 'wp-optimize');
209 }
210
211 ?>
212 </label>
213 <br />
214 <small>&nbsp;&nbsp;<?php _e(wpo_getInfo('spam'), 'wp-optimize'); ?></small>
215 </p>
216
217 <p>
218 <label>
219 <input name="unapproved-comments" id="unapproved-comments" type="checkbox" value="true" <?php echo $wpo_user_selection['user-unapproved'] == 'true' ? 'checked="checked"':''; ?> />
220 <?php
221 if ( get_option( OPTION_NAME_RETENTION_ENABLED, 'false' ) == 'true' ) {
222 _e('Remove unapproved comments which are older than ', 'wp-optimize');
223 echo get_option( OPTION_NAME_RETENTION_PERIOD, '2' );
224 echo ' ';
225 _e('weeks', 'wp-optimize');
226 } else {
227 _e('Remove unapproved comments', 'wp-optimize');
228 }
229
230 ?>
231 </label>
232 <br />
233 <small>&nbsp;&nbsp;<?php _e(wpo_getInfo('unapproved'), 'wp-optimize'); ?></small>
234 </p>
235
236 <p>
237 <label>
238 <input name="clean-transient" id="clean-transient" type="checkbox" value="" />
239 <span style="color: red;">
240 <?php _e('Remove transient options', 'wp-optimize'); ?>
241 </span>
242 </label>
243 <br />
244 <small>&nbsp;&nbsp;<?php _e(wpo_getInfo('transient_options'), 'wp-optimize'); ?></small>
245 </p>
246
247 <p>
248 <label>
249 <input name="clean-pingbacks" id="clean-pingbacks" type="checkbox" value="" />
250 <span style="color: red;">
251 <?php _e('Remove pingbacks', 'wp-optimize'); ?>
252 </span>
253 </label>
254 <br />
255 <small>&nbsp;&nbsp;<?php _e(wpo_getInfo('pingbacks'), 'wp-optimize'); ?></small>
256 </p>
257
258 <p>
259 <label>
260 <input name="clean-trackbacks" id="clean-trackbacks" type="checkbox" value="" />
261 <span style="color: red;">
262 <?php _e('Remove trackbacks', 'wp-optimize'); ?>
263 </span>
264 </label>
265 <br />
266 <small>&nbsp;&nbsp;<?php _e(wpo_getInfo('trackbacks'), 'wp-optimize'); ?></small>
267 </p>
268
269 <p>
270 <?php
271 echo '<small>';
272 _e('Do not select RED marked items unless you really need to use them', 'wp-optimize');
273 echo '</small>';
274 ?>
275 </p>
276 <p>
277 <a href="http://bit.ly/youtube-wordpress" target="_blank">
278 <img src="<?php echo WPO_PLUGIN_URL ;?>embedplus.png" style="float: left;margin-right: 7px;"> <?php _e('Optimize your YouTube embedding in WordPress with this plugin', 'wp-optimize'); ?> &raquo;</a>
279 </p>
280 </div>
281 </div>
282 </div>
283
284 <div class="wpo_col wpo_span_1_of_3">
285 <div class="postbox">
286 <!-- <h3 class="hndle"><span>Actions</span></h3> -->
287 <div class="inside">
288 <h3><?php _e('Actions', 'wp-optimize'); ?></h3>
289 <p>
290 <label>
291
292 <?php
293 echo '<input name="optimize-db" id="optimize-db" type="checkbox" value="true" ';
294 echo $wpo_user_selection['user-optimize'] == 'true' ? 'checked="checked"':'';
295 echo ' />';
296 echo '<b>&nbsp;';
297 _e('Optimize database tables', 'wp-optimize');
298 echo '</b>';
299
300 ?>
301 </label>
302 </p>
303
304 <p><small>
305 <b><?php _e('Note:', 'wp-optimize'); ?></b> &nbsp;
306 <?php
307
308 _e('InnoDB tables will not be optimized', 'wp-optimize');
309
310 ?>
311
312 </small></p>
313 <p><small>
314 <!-- <span style="text-align:center;"><a href="#" onClick="javascript:SetDefaults();"><?php _e('Select safe options', 'wp-optimize'); ?></a></span> -->
315 <b><?php _e('Warning:', 'wp-optimize'); ?></b><br />
316 <?php _e('Always make a backup of your DB when you upgrade to major versions', 'wp-optimize'); ?>
317
318 </small></p>
319 <p>
320
321 <input class="wpo_primary_big" type="submit" id="wp-optimize" name="wp-optimize" value="<?php _e('PROCESS', 'wp-optimize'); ?>" />
322
323 </p>
324
325 <p>
326
327 <a class="button-primary" href="<?php echo WPO_PAYPAL ; ?>" title="<?php _e('Please donate! It really helps me keep improvising', 'wp-optimize'); ?>" target="_blank"><?php _e('Donate!', 'wp-optimize'); ?></a>
328 <a class="button-primary" href="http://wordpress.org/support/view/plugin-reviews/wp-optimize?rate=5#postform" target="_blank" title="<?php _e('Please give a proper rating:)', 'wp-optimize'); ?>">
329 <?php _e('Rating', 'wp-optimize'); ?>
330 </a>
331
332 </p>
333
334 <h3><?php _e('Status log: ', 'wp-optimize'); ?></h3>
335
336 <?php
337 $news_items = wpo_readFeed('http://ruhanirabin.github.io/WP-Optimize/feed.xml', 1);
338
339 foreach ( $news_items as $item ) : ?>
340 <p>
341 <b> <a href="<?php echo $item->get_link(); ?>" title="<?php echo $item->get_title(); ?>" target="_blank"><?php echo $item->get_title(); ?></a> </b>
342 </p>
343 <?php endforeach; ?>
344
345 <?php
346 $lastopt = get_option(OPTION_NAME_LAST_OPT, 'Never');
347 if ($lastopt !== 'Never'){
348 echo '<i>';
349 _e('Last automatic optimization was at', 'wp-optimize');
350 echo ' ';
351 echo '</i>';
352 echo '<b>';
353 echo '<font color="green">';
354 echo $lastopt;
355 echo '</font>';
356 echo '</b>';
357 echo '</i>';
358
359 } else {
360 echo '<i>';
361 _e('There was no automatic optimization', 'wp-optimize');
362 echo ' - ';
363 //echo '<a href="?page=WP-Optimize&tab=wp_optimize_settings">';
364 //_e('Check settings', 'wp-optimize');
365 //echo '</a>';
366 echo '</i>';
367 }
368 ?>
369 <br />
370
371 <?php
372 if ( get_option( OPTION_NAME_SCHEDULE, 'false' ) == 'true' ) {
373 echo '<b>';
374 echo '<i>';
375 echo '<font color="green">';
376 _e('Scheduled cleaning enabled', 'wp-optimize');
377 echo ', ';
378 echo '</font>';
379 echo '</i>';
380 echo '</b>';
381 if (wp_next_scheduled('wpo_cron_event2')) {
382 //$timestamp = wp_next_scheduled( 'wpo_cron_event2' );
383 wpo_cron_activate();
384
385 $timestamp = wp_next_scheduled( 'wpo_cron_event2' );
386 $date = new DateTime("@$timestamp");
387 echo '<i>';
388 _e('Next schedule', 'wp-optimize');
389 echo ' : ';
390 echo '<font color="green">';
391 //echo $date->format('l jS \of F Y') . "\n";
392 //echo gmdate(get_option('date_format') . ' ' . get_option('time_format'), $timestamp + (get_option('gmt_offset')));
393 echo gmdate(get_option('date_format') . ' ' . get_option('time_format'), $timestamp );
394 echo '</i>';
395 echo '</font>';
396 echo '<i>';
397 echo ' - ';
398 echo '<a href="?page=WP-Optimize">';
399 _e('Refresh', 'wp-optimize');
400 echo '</a>';
401 echo '</i>';
402 //echo $timestamp;
403
404 }
405 } else {
406 echo '<b>';
407 echo '<i>';
408 _e('Scheduled cleaning disabled', 'wp-optimize');
409 echo ' - ';
410 echo '<a href="?page=WP-Optimize&tab=wp_optimize_settings">';
411 _e('Check settings', 'wp-optimize');
412 echo '</a>';
413 echo '</i>';
414 echo '</b>';
415 }
416 echo '<br />';
417
418 if ( get_option( OPTION_NAME_RETENTION_ENABLED, 'false' ) == 'true' ) {
419 echo '<i>';
420 echo '<b>';
421 echo '<font color="blue">';
422 _e('Keeping last ', 'wp-optimize');
423 echo get_option( OPTION_NAME_RETENTION_PERIOD, '2' );
424 echo ' ';
425 _e('weeks data', 'wp-optimize');
426 echo '</font>';
427 echo '</i>';
428 echo '</b>';
429
430 } else {
431 echo '<i>';
432 echo '<b>';
433 _e('Not keeping recent data', 'wp-optimize');
434 echo ' - ';
435 echo '<a href="?page=WP-Optimize&tab=wp_optimize_settings">';
436 _e('Check settings', 'wp-optimize');
437 echo '</a>';
438 echo '</i>';
439 echo '</b>';
440 }
441
442 ?>
443 <br />
444
445 <h4>
446 <?php
447
448 if (isset($_POST["optimize-db"])) {
449 list ($part1, $part2) = wpo_getCurrentDBSize();
450 _e('Current database size : ', 'wp-optimize');
451 echo '<font color="blue">';
452 echo $part1.'</font> ';
453
454 echo ' <br />';
455 _e('You have saved', 'wp-optimize');
456 echo ' : ';
457 echo '<font color="blue">';
458 echo $part2.'</font> ';
459 }
460 else {
461 list ($part1, $part2) = wpo_getCurrentDBSize();
462 _e('Current database size', 'wp-optimize');
463 echo ' : ';
464 echo '<font color="blue">';
465 echo $part1.'</font> ';
466 $this_value = $part2;
467
468 if ($this_value > 0){
469 echo ' <br />';
470 _e('You can save almost', 'wp-optimize');
471 echo ' : ';
472 echo '<font color="red">';
473 echo $part2.'</font> ';
474 }
475 }
476
477 ?>
478 </h4>
479 <?php
480
481
482 $total_cleaned = get_option(OPTION_NAME_TOTAL_CLEANED);
483 $total_cleaned_num = floatval($total_cleaned);
484
485 if ($total_cleaned_num > 0){
486 echo '<h5>';
487 _e('Total clean up overall','wp-optimize');
488 echo ': ';
489 echo '<font color="green">';
490 echo wpo_format_size($total_cleaned);
491 echo '</font>';
492 echo '</h5>';
493
494
495 }
496 ?>
497
498 </div>
499 </div>
500 </div>
501 <div class="wpo_col wpo_span_1_of_3">
502
503 <p>
504 <?php wpo_headerImage(); ?>
505 </p>
506
507 <p>
508 <?php _e('Sponsor','wp-optimize')?></small><br><a href="http://j.mp/1ePlbvc" target="_blank"><img style="border:0px" src="<?php echo WPO_PLUGIN_URL ;?>elegantthemes_sm.png" width="310" height="auto" alt=""></a>
509 </p>
510
511 </div>
512 </div>
513
514 <!-- TODO: Need to make this checkbox selection thing persistent -->
515
516 <script type="text/javascript">
517 function SetDefaults() {
518 document.getElementById("clean-revisions").checked = true;
519 document.getElementById("clean-comments").checked = true;
520 document.getElementById("clean-autodraft").checked = true;
521 document.getElementById("optimize-db").checked = true;
522
523 return false;
524 }
525 </script>
526
527
528 <!--<script>
529 SetDefaults();
530 </script>-->
531
532 <?php
533 if (isset($_POST["optimize-db"])) {
534 optimizeTablesQuick("yes");
535 }
536 else optimizeTablesQuick("no");
537 ?>
538