is_pro_active() || $this->retention_days() < 1 ) { if ( $scheduled ) { $this->clear_cleanup(); } return; } if ( ! $scheduled ) { wp_schedule_event( time() + HOUR_IN_SECONDS, 'daily', self::CRON_HOOK ); } } public function clear_cleanup() { wp_clear_scheduled_hook( self::CRON_HOOK ); } /** * Delete aggregate rows older than the opted-in retention window. No-op when * Pro is active or no window is set. */ public function run_cleanup() { if ( betterdocs()->is_pro_active() ) { return; } $days = $this->retention_days(); if ( $days < 1 ) { return; } global $wpdb; $wpdb->query( $wpdb->prepare( "DELETE FROM {$wpdb->prefix}betterdocs_analytics WHERE created_at < DATE_SUB( CURDATE(), INTERVAL %d DAY )", $days ) ); $wpdb->query( $wpdb->prepare( "DELETE FROM {$wpdb->prefix}betterdocs_search_log WHERE created_at < DATE_SUB( CURDATE(), INTERVAL %d DAY )", $days ) ); } }