# ivyforms/0.8/backend/src/Services/InstallActions/ActivationMultisite.php

The Innovative Form Builder – IvyForms, version 0.8. 47 lines.

- Page: https://pluginprobe.com/plugins/ivyforms/0.8/code/backend/src/Services/InstallActions/ActivationMultisite.php
- Raw: https://pluginprobe.com/plugins/ivyforms/0.8/raw/backend/src/Services/InstallActions/ActivationMultisite.php
- Modified: 2026-01-13T11:11:38+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.8/code/backend/src/Services/InstallActions/ActivationMultisite.php#L10-L20`.

```php
<?php

/**
 * Network activation
 */

namespace IvyForms\Services\InstallActions;

// phpcs:disable PSR1.Files.SideEffects
use IvyForms\Common\Exceptions\InvalidArgumentException;

if (!defined('ABSPATH')) {
    exit; // Exit if accessed directly
}

/**
 * Class ActivationMultisite
 *
 * @package IvyForms\Services\InstallActions
 */
class ActivationMultisite
{
    /**
     * Activate the plugin for every sub-site separately
     * @throws InvalidArgumentException
     */
    public static function init(): void
    {
        global $wpdb;

        // Get current blog id
        $oldSite = $wpdb->blogid;
        // Get all blog ids
        $siteIds = $wpdb->get_col(
            $wpdb->prepare("SELECT blog_id FROM $wpdb->blogs")
        );

        foreach ($siteIds as $siteId) {
            switch_to_blog($siteId);
            // Create database table if not exists
            ActivationDatabaseHook::init();
        }
        // Returns to current blog
        switch_to_blog($oldSite);
    }
}

```
