Changeset 2423998
- Timestamp:
- 11/23/2020 11:19:49 PM (5 years ago)
- Location:
- optimize-database
- Files:
-
- 4 edited
- 1 copied
-
tags/1.0.4 (copied) (copied from optimize-database/trunk)
-
tags/1.0.4/optimize-database.php (modified) (1 diff)
-
tags/1.0.4/readme.txt (modified) (2 diffs)
-
trunk/optimize-database.php (modified) (1 diff)
-
trunk/readme.txt (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
optimize-database/tags/1.0.4/optimize-database.php
r1989405 r2423998 1 1 <?php 2 /* 3 Plugin Name: Optimize Database 4 Plugin URI: http://joshuafredrickson.com 5 Description: Automatically optimize the database every day. 6 Version: 1.0.3 7 Author: Joshua Fredrickson 8 Author URI: http://joshuafredrickson.com 9 */ 2 /** 3 * Plugin Name: Optimize Database 4 * Plugin URI: http://joshuafredrickson.com 5 * Description: Automatically optimize the database every day. 6 * Version: 1.0.4 7 * Requires PHP: 5.6 8 * Author: Joshua Fredrickson 9 * Author URI: http://joshuafredrickson.com 10 */ 10 11 11 register_activation_hook( __FILE__, 'op_optimize_plugin_activation' ); 12 register_deactivation_hook( __FILE__, 'op_optimize_plugin_deactivation' ); 12 namespace OptimizeDatabase; 13 13 14 add_action( 'op_optimize_cron', 'do_op_optimize_cron' ); 14 use function add_action; 15 use function register_activation_hook; 16 use function register_deactivation_hook; 17 use function wp_next_scheduled; 18 use function wp_schedule_event; 15 19 16 op_optimize_check_crons(); 17 18 function op_optimize_plugin_activation () { 19 op_optimize_check_crons(); 20 } 21 22 function op_optimize_plugin_deactivation () { 23 // If our cron hook exists. remove it. 24 if ( wp_next_scheduled( 'op_optimize_cron' ) ) { 25 wp_clear_scheduled_hook( 'op_optimize_cron' ); 20 /** 21 * If the cron schedule doesn't yet exist, create it. 22 */ 23 function check_crons() 24 { 25 if (! wp_next_scheduled('op_optimize_cron')) { 26 wp_schedule_event(time(), 'daily', 'op_optimize_cron'); 26 27 } 27 28 } 28 29 29 function op_optimize_check_crons() { 30 // If our cron hook doesn't yet exist, create it. 31 if ( ! wp_next_scheduled( 'op_optimize_cron' ) ) { 32 wp_schedule_event( time(), 'daily', 'op_optimize_cron' ); 30 /** 31 * Plugin activation 32 */ 33 register_activation_hook(__FILE__, function () { 34 \OptimizeDatabase\check_crons(); 35 }); 36 37 /** 38 * If the cron hook exists, remove it. 39 */ 40 register_deactivation_hook(__FILE__, function () { 41 if (wp_next_scheduled('op_optimize_cron')) { 42 wp_clear_scheduled_hook('op_optimize_cron'); 33 43 } 34 } 44 }); 35 45 36 function do_op_optimize_cron() { 37 global $wpdb; 46 /** 47 * Do the actual optimization. 48 */ 49 add_action('op_optimize_cron', function () { 50 global $wpdb; 38 51 39 52 $sql = 'SHOW TABLE STATUS FROM ' . DB_NAME; 40 $tables = $wpdb->get_results( $sql, ARRAY_A ); 41 foreach( $tables as $t ) { 42 if( ! empty( $t['Data_free'] ) ) { 43 $do_opt = $wpdb->query( "OPTIMIZE TABLE ".$t['Name'] ); 53 $tables = $wpdb->get_results($sql, ARRAY_A); 54 55 foreach ($tables as $t) { 56 if (! empty($t['Data_free'])) { 57 $wpdb->query("OPTIMIZE TABLE {$t['Name']}"); 44 58 } 45 59 } 60 46 61 return; 47 } 62 }); 63 64 /** 65 * Kick it all off. 66 */ 67 check_crons(); -
optimize-database/tags/1.0.4/readme.txt
r1989405 r2423998 4 4 Tags: database, optimize, cron, automatic 5 5 Requires at least: 3.7 6 Tested up to: 5. 06 Tested up to: 5.6 7 7 Stable tag: trunk 8 8 License: GPLv2 or later … … 31 31 == Changelog == 32 32 33 = 1.0.4 = 34 * Tested up to WordPress 5.6. 35 * Implement namespace. 36 33 37 = 1.0.3 = 34 38 * Tested up to WordPress 5.0. -
optimize-database/trunk/optimize-database.php
r1989405 r2423998 1 1 <?php 2 /* 3 Plugin Name: Optimize Database 4 Plugin URI: http://joshuafredrickson.com 5 Description: Automatically optimize the database every day. 6 Version: 1.0.3 7 Author: Joshua Fredrickson 8 Author URI: http://joshuafredrickson.com 9 */ 2 /** 3 * Plugin Name: Optimize Database 4 * Plugin URI: http://joshuafredrickson.com 5 * Description: Automatically optimize the database every day. 6 * Version: 1.0.4 7 * Requires PHP: 5.6 8 * Author: Joshua Fredrickson 9 * Author URI: http://joshuafredrickson.com 10 */ 10 11 11 register_activation_hook( __FILE__, 'op_optimize_plugin_activation' ); 12 register_deactivation_hook( __FILE__, 'op_optimize_plugin_deactivation' ); 12 namespace OptimizeDatabase; 13 13 14 add_action( 'op_optimize_cron', 'do_op_optimize_cron' ); 14 use function add_action; 15 use function register_activation_hook; 16 use function register_deactivation_hook; 17 use function wp_next_scheduled; 18 use function wp_schedule_event; 15 19 16 op_optimize_check_crons(); 17 18 function op_optimize_plugin_activation () { 19 op_optimize_check_crons(); 20 } 21 22 function op_optimize_plugin_deactivation () { 23 // If our cron hook exists. remove it. 24 if ( wp_next_scheduled( 'op_optimize_cron' ) ) { 25 wp_clear_scheduled_hook( 'op_optimize_cron' ); 20 /** 21 * If the cron schedule doesn't yet exist, create it. 22 */ 23 function check_crons() 24 { 25 if (! wp_next_scheduled('op_optimize_cron')) { 26 wp_schedule_event(time(), 'daily', 'op_optimize_cron'); 26 27 } 27 28 } 28 29 29 function op_optimize_check_crons() { 30 // If our cron hook doesn't yet exist, create it. 31 if ( ! wp_next_scheduled( 'op_optimize_cron' ) ) { 32 wp_schedule_event( time(), 'daily', 'op_optimize_cron' ); 30 /** 31 * Plugin activation 32 */ 33 register_activation_hook(__FILE__, function () { 34 \OptimizeDatabase\check_crons(); 35 }); 36 37 /** 38 * If the cron hook exists, remove it. 39 */ 40 register_deactivation_hook(__FILE__, function () { 41 if (wp_next_scheduled('op_optimize_cron')) { 42 wp_clear_scheduled_hook('op_optimize_cron'); 33 43 } 34 } 44 }); 35 45 36 function do_op_optimize_cron() { 37 global $wpdb; 46 /** 47 * Do the actual optimization. 48 */ 49 add_action('op_optimize_cron', function () { 50 global $wpdb; 38 51 39 52 $sql = 'SHOW TABLE STATUS FROM ' . DB_NAME; 40 $tables = $wpdb->get_results( $sql, ARRAY_A ); 41 foreach( $tables as $t ) { 42 if( ! empty( $t['Data_free'] ) ) { 43 $do_opt = $wpdb->query( "OPTIMIZE TABLE ".$t['Name'] ); 53 $tables = $wpdb->get_results($sql, ARRAY_A); 54 55 foreach ($tables as $t) { 56 if (! empty($t['Data_free'])) { 57 $wpdb->query("OPTIMIZE TABLE {$t['Name']}"); 44 58 } 45 59 } 60 46 61 return; 47 } 62 }); 63 64 /** 65 * Kick it all off. 66 */ 67 check_crons(); -
optimize-database/trunk/readme.txt
r1989405 r2423998 4 4 Tags: database, optimize, cron, automatic 5 5 Requires at least: 3.7 6 Tested up to: 5. 06 Tested up to: 5.6 7 7 Stable tag: trunk 8 8 License: GPLv2 or later … … 31 31 == Changelog == 32 32 33 = 1.0.4 = 34 * Tested up to WordPress 5.6. 35 * Implement namespace. 36 33 37 = 1.0.3 = 34 38 * Tested up to WordPress 5.0.
Note: See TracChangeset
for help on using the changeset viewer.