# ivyforms/0.3/backend/src/Services/InstallActions/ActivationNewSiteMultisite.php

The Innovative Form Builder – IvyForms, version 0.3. 45 lines.

- Page: https://pluginprobe.com/plugins/ivyforms/0.3/code/backend/src/Services/InstallActions/ActivationNewSiteMultisite.php
- Raw: https://pluginprobe.com/plugins/ivyforms/0.3/raw/backend/src/Services/InstallActions/ActivationNewSiteMultisite.php
- Modified: 2025-08-20T10:20:12+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/ivyforms/0.3/code/backend/src/Services/InstallActions/ActivationNewSiteMultisite.php#L10-L20`.

```php
<?php

/**
 * Multisite hook on new site activation
 */

namespace IvyForms\Services\InstallActions;

// phpcs:disable PSR1.Files.SideEffects
if (!defined('ABSPATH')) {
    exit; // Exit if accessed directly
}

/**
 * Class ActivationNewSiteMultisite
 *
 * @package IvyForms\Services\InstallActions
 */
class ActivationNewSiteMultisite
{
    /**
     * Activate the plugin for every newly created site if the plugin is network activated
     *
     * @param int $siteId
     */
    public static function init(int $siteId): void
    {
        if (! function_exists('is_plugin_active_for_network')) {
            if (file_exists(ABSPATH . 'wp-admin/includes/plugin.php')) {
                require_once ABSPATH . 'wp-admin/includes/plugin.php';
            }
        }

        if (
            defined('IVYFORMS_PLUGIN_SLUG') &&
            is_plugin_active_for_network(IVYFORMS_PLUGIN_SLUG) // @phpstan-ignore argument.type
        ) {
            switch_to_blog($siteId);
            //Create database table if not exists
            ActivationDatabaseHook::init();
            restore_current_blog();
        }
    }
}

```
