In reply to John.

I agree that WP Spamshield has been the most effective spam-fighting solution I have ever had -- thoughnot without its own set of problems.

But there is not a lack of guidance here - it's very simple: WP now has a rule -- plugins in the repository cannot be written so as to interfere with or prevent functionality of other repository plugins.

All Scott had to in order to restore his plugin was to remove the code targeting Plugin Organizer. If he wanted, he could leave in code throwing off a warning-- but this code has to go:

static public function deconflict_po_01() {
if( !is_admin() ) { return; }
$pref = 'PO_'; $cb = '__return_zero';
$all_options = wp_load_alloptions();
$fix_options = array( 'admin_disable_plugins', 'disable_by_role', 'disable_mobile_plugins', 'disable_plugins', 'plugin_order', );
foreach( $all_options as $option => $value ) {
if( 0 === strpos( $option, $pref ) ) {
$slug = str_replace( $pref, '', $option );
if( 0 === strpos( serialize( $value ), WPSS_PLUGIN_NAME ) || isset( $fix_options[$slug] ) ) { update_option( $option, 0 ); continue; }
}
}
foreach( $fix_options as $i => $v ) {
add_filter( 'pre_update_option_'.$pref.$v, $cb, 100, 1 );
}
}

This code essentially says, "if Plugin Organizer is installed, make sure that none of its options will work if applied to Spamshield".

The WPSS developer is unwilling to remove that code. He had asked the PO developer to give him a way to "whitelist" his plugin; the PO developer refused -- and so he wrote his own script to do essentially the same thing.

So it's like a no-pets rule at an apartment building. It doesn't matter how nice or helpful or wonderful a tenant is -- nor does it matter that dogs and cats make wonderful companions --if the rule is no pets, then if a tenant decides to get a dog and the building management finds out, either the pet goes or the tenant goes.

Except in this case, the rule is "don't mess with other plugins" and there really is no room for any exception. If allowed, every plugin developer could copy Scott's code and use it for their own plugins, and pretty soon Plugin Organizer wouldn't work at all; and of course the same mechanism could also be used against other plugins.

Maybe the process could have been better but Scott has made it clear he is unwilling to remove that code. So a better process doesn't get us anywhere.