Commit Graph

86 Commits

Author SHA1 Message Date
Sergey Biryukov fdaa694ac7 Remove unnecessary array_reverse() from wp_get_post_revisions().
WP_Query properly handles multiple 'orderby' values since [28541].

fixes #26042.
Built from https://develop.svn.wordpress.org/trunk@28543


git-svn-id: http://core.svn.wordpress.org/trunk@28369 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-05-22 18:51:14 +00:00
Scott Taylor 333083debe Apply `order` to each passed value for `orderby` in `WP_Query`:
* Since `orderby` in `WP_Query` can accept space-delimited sets, yet only one `order` value: when multiple values are passed (and `DESC` is the order), the default sort order `ASC` is being applied to all values before the last in the set.
* There is a unit test that sporadically fails since 3.6 in `tests/post/revision` due to multiple posts having the same `post_date` from being added so rapidly
* When ordering revisions in `wp_get_post_revisions()`, order by `post_date ID`
* Change the `order` value in `wp_get_post_revisions()` to `ASC`. This will produce SQL like: `ORDER BY $wpdb->posts.post_date ASC, $wpdb->posts.ID ASC`. Previously, this would have produced SQL like: `ORDER BY $wpdb->posts.post_date DESC`, and with the addition of ` ID`: `ORDER BY $wpdb->posts.post_date ASC, $wpdb->posts.ID DESC`. Clearly, wrong. The original SQL produced: `ORDER BY $wpdb->posts.post_date DESC`. As such, return the reversions in reverse order using `array_reverse()`. Not doing so would break "Preview Changes."
* Add unit tests to assert that all of this works.
* All existing unit tests pass with the change to ordering multiple `orderby`s in `WP_Query`.
* In the future, we should support independent `order` for each `orderby`, see #17065.

Props SergeyBiryukov, wonderboymusic.
Fixes #26042.

Built from https://develop.svn.wordpress.org/trunk@28541


git-svn-id: http://core.svn.wordpress.org/trunk@28367 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-05-22 18:19:13 +00:00
Scott Taylor 5b6b17fc80 In `wp-includes/revision.php` - remove dead code:
* In `wp_get_post_autosave()`, `break` is unreachable after `return`
* In `_wp_put_post_revision()`, `$post_id` is set then never used.

See #27882.

Built from https://develop.svn.wordpress.org/trunk@28334


git-svn-id: http://core.svn.wordpress.org/trunk@28162 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-05-07 03:38:16 +00:00
Drew Jaynes eb35f65746 Inline documentation for hooks in wp-includes/revision.php.
Props adamsilverstein, DrewAPicture.
Fixes #26979.

Built from https://develop.svn.wordpress.org/trunk@27699


git-svn-id: http://core.svn.wordpress.org/trunk@27538 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-25 09:00:14 +00:00
Scott Taylor 540c14079b Revert [27184] until `WP_Query` is patched to apply `order` to each space-delimited `orderby` value properly.
See #26042.


Built from https://develop.svn.wordpress.org/trunk@27683


git-svn-id: http://core.svn.wordpress.org/trunk@27524 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-24 14:46:16 +00:00
Scott Taylor 14fba3c926 `wp_get_post_revisions()` should have a default `orderby` of `date ID` to tie-break rapidly added revisions - namely, when unit tests are run. There is a test that occasionally fails when running all tests, and always fails when running `phpunit tests/phpunit/tests/post/revisions.php `. This fixes that.
Fixes #26042.


Built from https://develop.svn.wordpress.org/trunk@27184


git-svn-id: http://core.svn.wordpress.org/trunk@27044 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-02-17 21:23:12 +00:00
Scott Taylor a6b3bced06 `get_comment()`, `wp_get_post_revision()`, and `get_term()` all used to return by reference. Because of this, `$null` was set to `null` so the return value would be a variable where applicable. This has not been necessary since [21792], so the `$null`s have been removed.
Props toszcze.
Fixes #24768.


Built from https://develop.svn.wordpress.org/trunk@27057


git-svn-id: http://core.svn.wordpress.org/trunk@26930 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-01-29 06:46:12 +00:00
Andrew Ozz 335add2573 Autosave: refactor autosave.js, use heartbeat for transport and move all "Add/Edit Post" related functionality to post.js. See #25272.
Built from https://develop.svn.wordpress.org/trunk@26995


git-svn-id: http://core.svn.wordpress.org/trunk@26872 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-01-22 04:56:16 +00:00
Andrew Nacin c8fe64a602 Revisions changes.
* Eliminates the bloated Revisions meta box in favor of 'Revisions: #' in the publish box.
 * Adds ability to compare autosave to current post, when revisions are disabled.
 * Makes autosaves stand out visually, including "Restore This Autosave".

Also:
 * Adds missing capability check for restoring a revision.
 * When no revision matches the post's current modified time, avoid marking an autosave as 'current'.
 * Fixes wp_get_post_autosave() to return an autosave even when revisions are disabled.
 * Add 'check_enabled' arg to wp_get_post_revisions(); false avoids the wp_revisions_enabled() check.
 * Adds a responsive slider that is narrower for fewer versions. props markjaquith.

see #24804.



git-svn-id: http://core.svn.wordpress.org/trunk@24790 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-07-24 06:08:14 +00:00
Mark Jaquith 77abb9ff01 Cleanup of the revisions screen, both on the PHP API side, and the JS.
* Much simpler PHP API
* Cleaner and more Backbone-y JS API
* Consequently, does batch queries; this now scales up to hundreds of revisions

Currently missing, but much easier considering the cleaned up base:

* Compare two mode
* RTL

props koopersmith, nacin, adamsilverstein, ocean90. see #24425

git-svn-id: http://core.svn.wordpress.org/trunk@24520 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-06-26 21:06:50 +00:00
Mark Jaquith 5626969d0b Restore post format previewing.
props azaozz. fixes #24483

git-svn-id: http://core.svn.wordpress.org/trunk@24414 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-06-06 14:39:08 +00:00
Andrew Ozz 27865da7a9 Remove saving of post_format in autosave and revisions, fixes #24455
git-svn-id: http://core.svn.wordpress.org/trunk@24397 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-06-02 01:29:44 +00:00
Dominik Schilling 5862f837a2 Revisions: Update `_edit_last` when restoring a post.
props redpixelstudios. fixes #20982.

git-svn-id: http://core.svn.wordpress.org/trunk@24178 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-05-06 09:49:13 +00:00
Andrew Ozz b7a6638428 Clean up revision.php docblocks, props DrewAPicture, fixes #24265
git-svn-id: http://core.svn.wordpress.org/trunk@24177 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-05-05 02:46:59 +00:00
Mark Jaquith 2d382c1a5c Post Formats: use the content body for the body of the Quote post format.
* Searchable, better editing tools
* Less cluttered Post Format UI

props kovshenin, DrewAPicture. see #24009

git-svn-id: http://core.svn.wordpress.org/trunk@24034 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-04-18 18:07:58 +00:00
Andrew Ozz 2407b26f69 Revisions: when upgrading the revision author don't add a copy of the post as latest revision when some of the revisions are already at v1. See #16215
git-svn-id: http://core.svn.wordpress.org/trunk@24025 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-04-18 04:43:59 +00:00
Mark Jaquith 412161de03 Standardize post format postmeta keys around the ones already used by the Crowd Favorite plugin.
props wonderboymusic. fixes #24010.

git-svn-id: http://core.svn.wordpress.org/trunk@24021 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-04-17 20:57:44 +00:00
Ryan Boren 8bda27e12c _wp_preview_terms_filter() should be @since 3.6.0. Standardize on 3.6.0 instead of 3.6.
See #20564


git-svn-id: http://core.svn.wordpress.org/trunk@23936 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-04-09 13:05:21 +00:00
Andrew Ozz f0fdba27ba Revisions: don't set revisions post_author with get_post_meta( $ID, '_edit_last' ). Not needed since we create revisions after saving the post and breaks per-user autosaves, see #16215
git-svn-id: http://core.svn.wordpress.org/trunk@23933 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-04-08 00:08:33 +00:00
Andrew Ozz 9fe85b154e Revisions: move the call to _wp_upgrade_revisions_of_post() to edit-form-advanced.php, in the code block checking whether we should show the revisions postbox. See #16215
git-svn-id: http://core.svn.wordpress.org/trunk@23929 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-04-06 23:43:05 +00:00
Andrew Ozz 33dd4b3d69 Revisions:
- Store the post format as meta on revisions (including autosaves).
- Add post formats data (post meta) when autosaving.
- Only add non-empty post formats data to revisions.
- Correct the post format when previewing a published post.
Props kovshenin, see #19570, see #20564.


git-svn-id: http://core.svn.wordpress.org/trunk@23928 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-04-06 23:18:52 +00:00
Mark Jaquith 2a38966a97 Further cleanup of revisions code. Probably not the last.
see #23901. props adamsilverstein, azaozz, ocean90.

git-svn-id: http://core.svn.wordpress.org/trunk@23898 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-04-04 07:53:49 +00:00
Andrew Ozz 51826e4cde Revisions: remove the new _wp_last_revision_matches_current_post(), can be replaced by a simple revisions version check. Fixes #23913
git-svn-id: http://core.svn.wordpress.org/trunk@23885 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-04-02 19:39:48 +00:00
Sergey Biryukov 90dd5c458e Make sure the autosave post exists before getting its meta. props kovshenin. fixes #23539.
git-svn-id: http://core.svn.wordpress.org/trunk@23867 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-03-29 16:37:46 +00:00
Sergey Biryukov 48f5701214 Move _show_post_preview() back next to _set_preview(). see #23539.
git-svn-id: http://core.svn.wordpress.org/trunk@23866 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-03-29 16:31:33 +00:00
Mark Jaquith 1127ad37a8 Use the revisioned post format metadata when previewing.
fixes #23539. props kovshenin.

git-svn-id: http://core.svn.wordpress.org/trunk@23862 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-03-29 12:08:42 +00:00
Mark Jaquith 8b3f9ab751 Revision our post format postmeta.
props kovshenin, WraithKenny. see #20564.

git-svn-id: http://core.svn.wordpress.org/trunk@23859 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-03-29 10:37:44 +00:00
Andrew Ozz 7b831aabd3 Post revisions:
- Always update the revision version when updating post authors.
- Check if revisions have been updated and return early.
- Update the revisions by direct query to avoid resetting post_modified.
- Fix a bug where we may be comparing with an autosave but need to compare with the latest revision.

Fixes #16215.

git-svn-id: http://core.svn.wordpress.org/trunk@23849 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-03-29 05:28:44 +00:00
Mark Jaquith cccb2939db Fix a longstanding "off by one" revision authorship bug.
* Fixes old revision data on the fly when you open a post for editing.
* Uses post_name of revisions to store a post version number (-v1), so we know what has been fixed.
* Latest version should also have a revision stored, whereas before it did not.

props adamsilverstein, mdawaffe. fixes #16215.

git-svn-id: http://core.svn.wordpress.org/trunk@23823 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-03-27 20:21:38 +00:00
Mark Jaquith acfeb6f20f Take revision control out of the realm of a pure constant. Make it filterable.
* New filter: wp_revisions_to_keep

props ethitter, SergeyBiryukov. fixes #22289.

git-svn-id: http://core.svn.wordpress.org/trunk@23818 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-03-27 18:11:56 +00:00
Mark Jaquith 576e487663 Minor revisions PHP reorg, code cleanup, restores _post_restored_from functionality.
props adamsilverstein. see #23497

git-svn-id: http://core.svn.wordpress.org/trunk@23811 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-03-27 11:56:28 +00:00
Peter Westwood 9d6988a221 Revisions: UI Update.
* Refines the UI to make it clearer and easier to use
* Introduces weighted tickmarks
* Fixes comparison bugs.

See #23497 props adamsilverstein


git-svn-id: http://core.svn.wordpress.org/trunk@23769 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-03-21 15:54:11 +00:00
Andrew Ozz 30ad180d6a Create one autosave per user rather than a single autosave for all users. Remove unused code from autosave.js and wp_ajax_autosave(). See #23665.
git-svn-id: http://core.svn.wordpress.org/trunk@23735 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-03-16 21:15:43 +00:00
Ryan Boren 315bfb019a Use wp_unslash() instead of stripslashes() and stripslashes_deep(). Use wp_slash() instead of add_magic_quotes().
see #21767


git-svn-id: http://core.svn.wordpress.org/trunk@23594 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-03-03 21:11:40 +00:00
Ryan Boren 43a7e695e9 Revert 23416, 23419, 23445 except for wp_reset_vars() changes. We are going a different direction with the slashing cleanup, so resetting to a clean slate. see #21767
git-svn-id: http://core.svn.wordpress.org/trunk@23554 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-03-01 16:28:40 +00:00
Andrew Nacin b88b1c1f53 Move revisions/autosave and post format functions from wp-includes/post.php into revision.php and post-formats.php.
git-svn-id: http://core.svn.wordpress.org/trunk@23466 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-02-21 21:24:34 +00:00