janrain/extension-wordpress-capture — pull request #13 by thanj (2013-08-19 22:07:27+00:00)
Title: Make the $capture object a public global

Currently all global variables are completely encapsulated, so there's
no way for developers of other plugins to hook into any of this plugin's
actions and modify them.

This goes against the WordPress way of exposing filters so that plugins
can build on each other.

With this change, for example, it's possible for a theme to remove the
Capture scripts from views such as modal windows that don't need them,
by doing something (admittedly clumsy) like this:

global $capture;
$capture_ui =& $capture->ui;
remove_action( 'wp_head', array( $capture_ui, 'head' ) );
remove_action( 'wp_head', array( $capture_ui, 'sign_in_screen_js' ) );
remove_action( 'wp_enqueue_scripts', array( $capture_ui, 'register_scripts' ) );
remove_action( 'wp_footer', array( $capture_ui, 'share_js' ) );
remove_action( 'wp_footer', array( $capture_ui, 'sign_in_screen' ) );
wp_dequeue_style( 'janrain_share' );

With the current plugin, there's no way to do this at all, or to
override the settings passed to the widget.