| Server IP : 216.238.66.20 / Your IP : 216.73.216.199 Web Server : nginx/1.30.4 System : Linux woropds 5.15.0-187-generic #197-Ubuntu SMP Fri Jul 17 19:17:01 UTC 2026 x86_64 User : root ( 0) PHP Version : 8.2.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /var/www/sweetheart.mx/htdocs/wp-content/plugins/wp-slimstat/src/Migration/ |
Upload File : |
<?php
declare(strict_types=1);
namespace SlimStat\Migration;
use SlimStat\Migration\Admin\MigrationAdmin;
use SlimStat\Migration\Migrations\CreateCountryDtIndex;
use SlimStat\Migration\Migrations\CreateDtBrowserIndex;
use SlimStat\Migration\Migrations\CreateDtOutIndex;
use SlimStat\Migration\Migrations\CreateDtPlatformIndex;
use SlimStat\Migration\Migrations\CreateDtScreenIndex;
use SlimStat\Migration\Migrations\CreateEventsNotesDtIndex;
use SlimStat\Migration\Migrations\CreateFunnelQueriesIndex;
use SlimStat\Migration\Migrations\CreateGoalQueriesIndex;
use SlimStat\Migration\Migrations\RecoverCorruptedHeatmapPositions;
/**
* Service class to initialize and manage the migration system.
*/
class MigrationService
{
/**
* Initializes the migration system, registers migrations, and hooks into WordPress.
*/
public static function init(): void
{
add_action('init', function () {
if (!is_admin()) {
return;
}
global $wpdb;
$manager = new MigrationManager($wpdb);
// Register all migrations
$manager->register(new CreateDtOutIndex($wpdb));
$manager->register(new CreateCountryDtIndex($wpdb));
$manager->register(new CreateDtScreenIndex($wpdb));
$manager->register(new CreateDtBrowserIndex($wpdb));
$manager->register(new CreateDtPlatformIndex($wpdb));
$manager->register(new CreateGoalQueriesIndex($wpdb));
$manager->register(new CreateFunnelQueriesIndex($wpdb));
$manager->register(new CreateEventsNotesDtIndex($wpdb));
$manager->register(new RecoverCorruptedHeatmapPositions($wpdb));
$admin = new MigrationAdmin($manager);
$admin->hooks();
}, 70); // Run after SlimStat admin init (priority 60)
}
}