function init()
 {
     add_action('admin_notices', array(__CLASS__, 'admin_notices'));
     add_action('admin_print_styles', array(__CLASS__, 'admin_print_styles'));
     add_action('admin_print_footer_scripts', array(__CLASS__, 'footer_script'), 20);
     add_filter('plugin_action_links', array(__CLASS__, 'plugin_action_links'), 10, 4);
     Plugin_Dependencies::init();
     load_plugin_textdomain('plugin-dependencies', '', dirname(plugin_basename(__FILE__)) . '/lang');
     self::$msg = array(array('deactivate', 'cascade', __('The following plugins have also been deactivated:', 'plugin-dependencies')), array('activate', 'conflicting', __('The following plugins have been deactivated due to dependency conflicts:', 'plugin-dependencies')));
     if (!isset($_REQUEST['action'])) {
         return;
     }
     foreach (self::$msg as $args) {
         list($action, $type) = $args;
         if ($action == $_REQUEST['action']) {
             $deactivated = call_user_func(array('Plugin_Dependencies', "deactivate_{$type}"), (array) $_REQUEST['plugin']);
             set_transient("pd_deactivate_{$type}", $deactivated);
         }
     }
 }