While studying the code for this plug-in, I discovered a much simpler (and probably less resource-hungry) way to accomplish this task.
The AD Integration plug-in was initially built with network-wide options in mind, but the methodology it uses to decide whether to use settings on individual sites or throughout the entire network was deprecated when WPMU merged with the WordPress core.
In this plug-in, the decision as to whether to use network-wide options or individual site options is determined by two things:
1) Does the global variable “$wpmu_version” exist?
or
2) Is the constant “IS_WPMU” defined and non-empty? (This constant is defined as ” within the plug-in if “$wpmu_version” doesn’t exist or is empty).
I’m not sure why the checks are inconsistent (some functions use the global $wpmu_version variable and others use the IS_WPMU constant).
Anyway, to make your options applicable site-wide, you need to simply create a small PHP file and place it in your mu-plugins folder. Then paste the following code into that file:
<?php
if( !defined( 'IS_WPMU' ) )
define( 'IS_WPMU', true );
global $wpmu_version;
$wpmu_version = $GLOBALS['wp_version'];
?>
Then, when you “Network Activate” the AD Integration plug-in, you will no longer see the “Active Directory Integration” menu under “Settings” in the left sidebar, it will appear under “Super Admin” instead, and the settings will now apply throughout your entire network rather than being different for each individual site.
Be forewarned, though, that if there are other plug-ins using the deprecated $wpmu_version variable to try to determine whether this is a standard WordPress installation or a multi-site installation, this change might have an undesired effect on those plug-ins.
Also, in my particular installation, the styling for the options page for this plug-in doesn’t seem to be quite right (the links to the different “tabs” within the options page still work, but they’re just a vertical list of links rather than looking like tabs).
I’ve only just begun testing on this, but it seems to be working properly for me. In my case, I deactivated the plug-in entirely on my network (you’ll obviously have to make sure you have a non-AD Super Admin in order to move forward this way), I backed up my AD_Integration settings from each of my sites’ “options” tables, then deleted them. I then uploaded the file to mu-plugins, logged back in using my non-AD Super Admin account and Network Activated the AD plug-in. I then re-configured all of the settings for the plug-in, logged out and logged in to one of the sub-sites using my AD credentials. It worked.