PluginProbe ʕ •ᴥ•ʔ
WP STAGING – WordPress Backups, Restore, Migration & Clone / 4.10.0
WP STAGING – WordPress Backups, Restore, Migration & Clone v4.10.0
4.10.0 4.9.5 4.9.4 4.9.3 4.9.2 4.9.1 4.9.0 4.8.1 trunk 3.0.0 3.0.1 3.0.2 3.0.3 3.0.4 3.0.5 3.0.6 3.1.0 3.1.1 3.1.2 3.1.3 3.1.4 3.10.0 3.2.0 3.3.1 3.3.2 3.3.3 3.4.1 3.4.3 3.5.0 3.6.0 3.7.1 3.8.0 3.8.1 3.8.2 3.8.3 3.8.4 3.8.5 3.8.6 3.8.7 3.9.0 3.9.1 3.9.2 3.9.3 3.9.4 4.0.0 4.1.0 4.1.1 4.1.2 4.1.3 4.1.4 4.2.0 4.2.1 4.3.0 4.3.1 4.3.2 4.4.0 4.5.0 4.6.0 4.7.0 4.7.1 4.7.2 4.7.3 4.8.0
wp-staging / Framework / Analytics / AnalyticsCleanup.php
wp-staging / Framework / Analytics Last commit date
Actions 4 days ago AnalyticsCleanup.php 4 years ago AnalyticsConsent.php 1 month ago AnalyticsEventDto.php 4 days ago AnalyticsEventWithTimeDto.php 10 months ago AnalyticsGenericEventHandler.php 4 days ago AnalyticsSender.php 10 months ago WithAnalyticsAPI.php 10 months ago WithAnalyticsSiteInfo.php 6 months ago
AnalyticsCleanup.php
32 lines
1 <?php
2
3 namespace WPStaging\Framework\Analytics;
4
5 class AnalyticsCleanup
6 {
7 public function cleanupOldAnalytics()
8 {
9 global $wpdb;
10
11 $results = $wpdb->get_results("SELECT `option_id`, `option_name` FROM $wpdb->options WHERE `option_name` LIKE 'wpstg_analytics_event_%' ORDER BY `option_id` ASC");
12
13 // No site should have more than 100 events in the database.
14 if (count($results) < 100) {
15 return;
16 }
17
18 // If they do, we will delete the first 20 events.
19 $idsToDelete = array_map(function ($option) {
20 return $option->option_id;
21 }, array_slice($results, 0, 20));
22
23 $idsToDelete = implode(',', $idsToDelete);
24
25 $deleteResult = $wpdb->query("DELETE FROM $wpdb->options WHERE `option_id` IN ($idsToDelete)");
26
27 if ($deleteResult != 20) {
28 \WPStaging\functions\debug_log(sprintf('WPSTAGING Analytics Cleanup tried to delete 20 events but couldn\'t. wpdb last query: %s wpdb last error: %s', $wpdb->last_query, $wpdb->last_error));
29 }
30 }
31 }
32