/**
  * Plugin deactivation cleanup.
  * @param $drop overrides the groups_delete_data option, default is false
  */
 private static function cleanup($drop = false)
 {
     global $wpdb, $wp_roles;
     $delete_data = Groups_Options::get_option('groups_delete_data', false);
     if ($delete_data || $drop) {
         foreach ($wp_roles->role_objects as $role) {
             $role->remove_cap(GROUPS_ACCESS_GROUPS);
             $role->remove_cap(GROUPS_ADMINISTER_GROUPS);
             $role->remove_cap(GROUPS_ADMINISTER_OPTIONS);
         }
         $wpdb->query('DROP TABLE IF EXISTS ' . _groups_get_tablename('group'));
         $wpdb->query('DROP TABLE IF EXISTS ' . _groups_get_tablename('capability'));
         $wpdb->query('DROP TABLE IF EXISTS ' . _groups_get_tablename('user_group'));
         $wpdb->query('DROP TABLE IF EXISTS ' . _groups_get_tablename('user_capability'));
         $wpdb->query('DROP TABLE IF EXISTS ' . _groups_get_tablename('group_capability'));
         Groups_Options::flush_options();
         delete_option(GROUPS_ADMINISTRATOR_ACCESS_OVERRIDE);
         delete_option('groups_plugin_version');
         delete_option('groups_delete_data');
     }
 }