Make WordPress Core

Opened 17 years ago

Closed 17 years ago

#7299 closed defect (bug) (fixed)

AtomPub: Draft posts cannot be edited without turning them published

Reported by: redsweater's profile redsweater Owned by: josephscott's profile josephscott
Milestone: 2.6.1 Priority: high
Severity: normal Version: 2.6
Component: XML-RPC Keywords: has-patch
Focuses: Cc:

Description

The logic in put_post, in wp-app.php correctly extracts a "publish" or "draft" status for a post by looking for a draft entry in the supplied post. If there is one, and it specifies "yes", then the updated entry should be set to "Unpublished" - otherwise it should be published.

The problem is with some seemingly unnecessary and flawed code which later overrides that determination with some faulty logic:

let's not go backwards and make something draft again.
if(!$publish && $post_status == 'draft') {

$post_status = ($publish) ? 'publish' : 'draft';

} elseif($publish) {

$post_status = 'publish';

}

See how it relies on an unset $post_status field, which hasn't been set in this function. Furthermore, the logic is flawed because in the case where !$publish is true, it goes on to test for ($publish) being true.

I don't think this faulty logic belongs in here at all. What it does in my tests is always overrides the post_status to be 'publish', no matter what the client has specified.

Patch attached to use the basic, good logic as the sole determination for publish status of the post.

Attachments (1)

FixAtomPubDrafts.diff (940 bytes) - added by redsweater 17 years ago.

Download all attachments as: .zip

Change History (6)

#1 @josephscott
17 years ago

  • Cc josephscott added

#2 @redsweater
17 years ago

  • Keywords has-patch added

#3 @westi
17 years ago

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

(In [8374]) Ensure that AtomPub does not auto-publish draft posts when they are edited. Fixes #7299 for trunk props redsweater.

#4 @westi
17 years ago

  • Milestone changed from 2.7 to 2.6.1
  • Resolution fixed deleted
  • Status changed from closed to reopened

re-opening for 2.6.1

#5 @westi
17 years ago

  • Resolution set to fixed
  • Status changed from reopened to closed

(In [8375]) Ensure that AtomPub does not auto-publish draft posts when they are edited. Fixes #7299 for 2.6.x props redsweater.

Note: See TracTickets for help on using tickets.