<?php namespace NinjaTables\App\Hooks\Handlers; use NinjaTables\Framework\Foundation\Application; use NinjaTables\Database\DBMigrator; class ActivationHandler { protected $app = null; public function __construct(Application $app) { $this->app = $app; } public function handle($network_wide = false) { global $wpdb; if ($network_wide) { // Retrieve all site IDs from this network (WordPress >= 4.6 provides easy to use functions for that). if (function_exists('get_sites') && function_exists('get_current_network_id')) { $site_ids = get_sites(array('fields' => 'ids', 'network_id' => get_current_network_id())); } else { $site_ids = $wpdb->get_col("SELECT blog_id FROM $wpdb->blogs WHERE site_id = $wpdb->siteid;"); } // Install the plugin for all these sites. foreach ($site_ids as $site_id) { switch_to_blog($site_id); DBMigrator::run(); restore_current_blog(); } } else { DBMigrator::run(); } } }