# fluent-booking/2.3.0/app/Hooks/Handlers/ActivationHandler.php

Fluent Booking – The Ultimate Appointments Scheduling, Events Booking, Events Calendar Solution, version 2.3.0. 43 lines.

- Page: https://pluginprobe.com/plugins/fluent-booking/2.3.0/code/app/Hooks/Handlers/ActivationHandler.php
- Raw: https://pluginprobe.com/plugins/fluent-booking/2.3.0/raw/app/Hooks/Handlers/ActivationHandler.php
- Modified: 2026-05-12T13:33:04+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/fluent-booking/2.3.0/code/app/Hooks/Handlers/ActivationHandler.php#L10-L20`.

```php
<?php

namespace FluentBooking\App\Hooks\Handlers;

use FluentBooking\Framework\Foundation\Application;
use FluentBooking\Database\DBMigrator;
use FluentBooking\Database\DBSeeder;

class ActivationHandler
{
    protected $app = null;

    public function __construct(Application $app)
    {
        $this->app = $app;
    }

    public function handle($network_wide = false)
    {
        DBMigrator::run($network_wide);
        DBSeeder::run();

        $this->registerWpCron();

        update_option('fluent_booking_db_version', FLUENT_BOOKING_DB_VERSION, 'no');
    }

    public function registerWpCron()
    {
        $fiveMinutesHook = 'fluent_booking_five_minutes_tasks';
        $dailyHook = 'fluent_booking/daily_tasks';

        if(function_exists('\as_schedule_recurring_action')) {
            if (!\as_next_scheduled_action($fiveMinutesHook)) {
                \as_schedule_recurring_action(time(), (60 * 5), $fiveMinutesHook, [], 'fluent-booking', true);
            }
            if (!\as_next_scheduled_action($dailyHook)) {
                \as_schedule_recurring_action(time(), (60 * 60 * 24), $dailyHook, [], 'fluent-booking', true);
            }
        }
    }
}

```
