The new "Deactivate All Plugins" function is great. Now we just need a quick way to "Reactivate All". Patch attached.
When the "Deactivate All" function is used, this will store the old plugin list in an option named 'deactivated_plugins'. When the plugin page sees that the 'active_plugins' option is empty, but 'deactivated_plugins' is not empty, it will present a "Reactivate All Plugins" button.
When an attempt to reactivate the previous set of plugins is made, each plugin is tested in turn, and errors in individual plugins will be listed, if possible (e.g. if a plugin was deleted between the "Deactivate All" and the "Reactivate All").
A fatal PHP error in a plugin will cause the reactivation to abort, and no plugins will be activated. I was hoping that I could just ignore that one plugin, but couldn't find a way, due to the lack of real exception handling in PHP 4.
I tried to test what I could think of, but any third-party testing would also be appreciated.