is_main_query() ) { // Hook to change the priority number of In-Page Block canvases // Example: add_filter( 'shareaholic_content_priority', 20 ); $priority = apply_filters( 'shareaholic_content_priority', 98 ); add_filter( 'the_content', array( 'ShareaholicPublic', 'draw_canvases' ), $priority ); add_filter( 'the_excerpt', array( 'ShareaholicPublic', 'draw_canvases' ), $priority ); } } public static function remove_apps() { remove_filter( 'the_content', array( 'ShareaholicPublic', 'draw_canvases' ), 98 ); remove_filter( 'the_excerpt', array( 'ShareaholicPublic', 'draw_canvases' ), 98 ); } public static function return_apps() { add_filter( 'the_content', array( 'ShareaholicPublic', 'draw_canvases' ), 98 ); add_filter( 'the_excerpt', array( 'ShareaholicPublic', 'draw_canvases' ), 98 ); } /** * We want this to be a singleton, so return the one instance * if already instantiated. * * @return Shareaholic */ public static function get_instance() { if ( ! self::$instance ) { self::$instance = new self(); } self::init(); return self::$instance; } /** * This function initializes the plugin so that everything is scoped * under the class and no variables leak outside. */ public static function init() { self::update(); } /** * This function fires once any activated plugins have been loaded. Is generally used for immediate filter setup, or plugin overrides. */ public function shareaholic_init() { ShareaholicUtilities::localize(); if ( ShareaholicUtilities::has_accepted_terms_of_service() && isset( $_GET['page'] ) && preg_match( '/shareaholic/', $_GET['page'] ) ) { ShareaholicUtilities::get_or_create_api_key(); } } /** * Runs update code if the plugin version is different from what is stored in the settings. */ public static function update() { if ( ShareaholicUtilities::get_version() != self::VERSION ) { ShareaholicUtilities::perform_update(); ShareaholicUtilities::set_version( self::VERSION ); ShareaholicUtilities::log_event( 'Upgrade', array( 'previous_plugin_version' => ShareaholicUtilities::get_version() ) ); } } /** * Checks whether to ask the user to accept the terms of service or not. */ public function terms_of_service() { if ( ! ShareaholicUtilities::has_accepted_terms_of_service() ) { add_action( 'admin_notices', array( 'ShareaholicAdmin', 'show_terms_of_service' ) ); } else { ShareaholicUtilities::get_or_create_api_key(); } } /** * This function fires after the plugin has been activated. */ public function after_activation() { set_transient( '_shr_activation_redirect', true, 120 ); // for post-activation redirect // Cleanup leftover mutex ShareaholicUtilities::delete_mutex(); $this->terms_of_service(); ShareaholicUtilities::log_event( 'Activate' ); // workaround: http://codex.wordpress.org/Function_Reference/register_activation_hook add_option( 'Activated_Plugin_Shareaholic', 'shareaholic' ); $api_key = ShareaholicUtilities::get_option( 'api_key' ); if ( ShareaholicUtilities::has_accepted_terms_of_service() && ! empty( $api_key ) ) { ShareaholicUtilities::notify_content_manager_singledomain(); } if ( ! ShareaholicUtilities::get_version() ) { ShareaholicUtilities::log_event( 'Install_Fresh' ); } // Activate the Shareaholic Cron Job for new users ShareaholicCron::activate(); } /** * This function fires when the plugin is deactivated. */ public function deactivate() { ShareaholicUtilities::log_event( 'Deactivate' ); ShareaholicUtilities::clear_cache(); ShareaholicCron::deactivate(); ShareaholicUtilities::delete_mutex(); } /** * This function fires when the plugin is uninstalled. */ public static function uninstall() { ShareaholicUtilities::log_event( 'Uninstall' ); delete_option( 'shareaholic_has_accepted_tos' ); delete_option( 'shareaholic_settings' ); delete_option( 'shareaholic_activate_timestamp' ); delete_option( 'shareaholic_review_dismiss' ); // legacy flag for reviews; can remove later ShareaholicUtilities::delete_api_key(); ShareaholicUtilities::delete_mutex(); } } // the magic $shareaholic = Shareaholic::get_instance(); } else { /* PLUGIN SPECIFIC CODE STARTS HERE */ register_activation_hook( __FILE__, 'shareaholic_update_primary_plugin' ); } function shareaholic_update_primary_plugin() { if ( is_plugin_active( 'sexybookmarks/shareaholic.php' ) ) { add_action( 'update_option_active_plugins', 'shareaholic_activate_primary_plugin' ); } } function shareaholic_activate_primary_plugin() { deactivate_plugins( 'sexybookmarks/shareaholic.php' ); activate_plugins( 'shareaholic/shareaholic.php' ); add_filter( 'plugin_action_links_' . plugin_basename( __FILE__ ), 'ShareaholicUtilities::admin_plugin_action_links', -10 ); } /* PLUGIN SPECIFIC CODE ENDS HERE */