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

The Innovative Form Builder – IvyForms, version 1.0. 40 lines.

- Page: https://pluginprobe.com/plugins/ivyforms/1.0/code/backend/src/Services/InstallActions/ActivationNewSiteMultisite.php
- Raw: https://pluginprobe.com/plugins/ivyforms/1.0/raw/backend/src/Services/InstallActions/ActivationNewSiteMultisite.php
- Modified: 2026-05-06T08:31:02+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/1.0/code/backend/src/Services/InstallActions/ActivationNewSiteMultisite.php#L10-L20`.

```php
<?php

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

namespace IvyForms\Services\InstallActions;

use IvyForms\Common\Exceptions\InvalidArgumentException;

/**
 * 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
     * @throws InvalidArgumentException
     */
    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)) {
            switch_to_blog($siteId);
            //Create database table if not exists
            ActivationDatabaseHook::init();
            restore_current_blog();
        }
    }
}

```
