WordPress.org

Make WordPress Core

Ticket #4048: before_activate_$plugin.action.diff

File before_activate_$plugin.action.diff, 706 bytes (added by m0n5t3r, 8 years ago)
  • wp-admin/plugins.php

    === modified file 'wp-admin/plugins.php'
     
    1515                        @include(ABSPATH . PLUGINDIR . '/' . $plugin); 
    1616                        $current[] = $plugin; 
    1717                        sort($current); 
    18                         update_option('active_plugins', $current); 
     18                        $can_activate = true; //flag that can be set to false by the plugin 
     19                        do_action('before_activate_' . $plugin); 
     20                        if($can_activate){ //if the plugin says we shouldn't activate, trust it 
     21                                update_option('active_plugins', $current); 
     22                        } else { 
     23                                exit;  
     24                        } 
    1925                        do_action('activate_' . $plugin); 
    2026                } 
    2127                wp_redirect('plugins.php?activate=true'); // overrides the ?error=true one above