WordPress.org

Make WordPress Core

Ticket #4048: 4048.r6603.diff

File 4048.r6603.diff, 831 bytes (added by darkdragon, 6 years ago)

Just the pre_activate_hook based off of r6603

  • plugin.php

     
    9999                                wp_redirect(add_query_arg('_error_nonce', wp_create_nonce('plugin-activation-error_' . $plugin), $redirect)); // we'll override this later if the plugin can be included without fatal error 
    100100                        ob_start(); 
    101101                        @include(ABSPATH . PLUGINDIR . '/' . $plugin); 
    102                         $current[] = $plugin; 
    103                         sort($current); 
    104                         update_option('active_plugins', $current); 
    105                         do_action('activate_' . $plugin); 
     102                        $can_activate = apply_filters( 'before_activate_' . $plugin, true ); 
     103                        if( $can_activate ) { 
     104                                $current[] = $plugin; 
     105                                sort($current); 
     106                                update_option('active_plugins', $current); 
     107                                do_action('activate_' . $plugin); 
     108                        } 
    106109                        ob_end_clean(); 
    107110                } 
    108111