WordPress.org

Make WordPress Core

Opened 4 months ago

Closed 7 weeks ago

#26487 closed defect (bug) (fixed)

Bulk Actions Not Working for Some Plugins

Reported by: miqrogroove Owned by: johnbillion
Milestone: 3.9 Priority: normal
Severity: minor Version: 3.4.2
Component: Plugins Keywords: has-patch commit 3.9-early
Focuses: Cc:

Description

Steps to reproduce:

  1. Go to Installed Plugins.
  2. Deactivate all plugins.
  3. Use the select-all box (either one).
  4. Un-select the last plugin at the bottom of the list.
  5. Use the Bulk Actions drop down (either one).
  6. Select Activate.
  7. Click the Apply button.

Expected result:

  • All but the last plugin should activate.

Actual result:

  • The first plugin does not activate, in addition to the last plugin.

Tried:

  • Different browsers, still broken.
  • WordPress 3.7, works correctly.

Attachments (1)

26487.diff (496 bytes) - added by dd32 4 months ago.

Download all attachments as: .zip

Change History (14)

comment:1 SergeyBiryukov4 months ago

  • Milestone changed from Awaiting Review to 3.8

comment:2 SergeyBiryukov4 months ago

Could not reproduce in Firefox 25, Chrome 31, or Opera 12. Works as expected for me.

comment:3 ocean904 months ago

  • Keywords reporter-feedback added
  • Milestone changed from 3.8 to Awaiting Review

I can't reproduce either.

comment:4 miqrogroove4 months ago

  • Component changed from Administration to Plugins
  • Severity changed from normal to minor
  • Summary changed from RC1 Bulk Actions Not Working to Bulk Actions Not Working for Some Plugins
  • Version changed from trunk to 3.7.1

Okay, more detail:

The plugin at the top of my Plugins list is Disable WordPress Core Updates v1.5 from http://wordpress.org/plugins/disable-wordpress-core-update/

My WordPress 3.7 test site still had v1.4 of the plugin. When I updated the plugin to v1.5, I was able to reproduce the silent failure for bulk activation. The single Activate link still works in all versions.

comment:5 follow-up: kpdesign4 months ago

I can reproduce this in Chrome 31 and Firefox 25 (Windows 7), but it's the 2nd plugin from the top that doesn't activate (Background Updates Tester). First plugin is Akismet.

comment:6 johnbillion4 months ago

  • Cc johnbillion added

comment:7 in reply to: ↑ 5 miqrogroove4 months ago

Replying to kpdesign:

I can reproduce this in Chrome 31 and Firefox 25 (Windows 7), but it's the 2nd plugin from the top that doesn't activate (Background Updates Tester). First plugin is Akismet.

I installed that and see the same thing. Both the Disable Updates and the Background Updates plugins stay deactivated during bulk activations.

dd324 months ago

comment:8 dd324 months ago

  • Keywords has-patch commit added; reporter-feedback removed
  • Milestone changed from Awaiting Review to Future Release
  • Version changed from 3.7.1 to 3.4.2

This is caused by a Multisite-specific usecase applying to non-multisite.

At present the Bulk plugin activation process only activates plugins which are:

  1. Not activated already
  2. Not a Network-wide-only plugin

What it should actually do:

  1. Not activated already
  2. If Multisite, Not a Network-wide-only plugin (The code branch affected only runs in non-network-admin)

Single plugin activation follows a similar branch to the expected:

  1. If activated, stop
  2. If Multisite, and we're not in the network admin, and it's a network-wide-only plugin, stop.

Patch attached.

Introduced with #21187 [21740]

comment:9 miqrogroove4 months ago

Patch tested. Fixed. I'd tag this 3.9 early so it doesn't lose traction.

comment:10 SergeyBiryukov4 months ago

  • Keywords 3.9-early added

comment:11 miqrogroove4 months ago

dd32, you can commit 26487.diff now?

comment:12 SergeyBiryukov4 months ago

  • Milestone changed from Future Release to 3.9

comment:13 johnbillion7 weeks ago

  • Owner set to johnbillion
  • Resolution set to fixed
  • Status changed from new to closed

In 27413:

Fix bulk activation of network-only plugins. Fixes #26487. Props dd32.

Note: See TracTickets for help on using tickets.