Commit Graph

31407 Commits

Author SHA1 Message Date
Scott Taylor
5c85369bb6 In _wp_ajax_delete_comment_response(), read the new 'all' prop returned by get_comment_count() via wp_count_comments() when setting $total. 'all' doesn't include spam in its count.
Updates unit tests.

Props dipesh.kakadiya.
Fixes #32362.


git-svn-id: https://develop.svn.wordpress.org/trunk@34161 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-15 01:46:51 +00:00
Scott Taylor
2817bb6557 In get_avatar_data(), promote stdClass objects to WP_Comment if passed.
Props DrewAPicture, ocean90.
Fixes #32619.


git-svn-id: https://develop.svn.wordpress.org/trunk@34160 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-15 01:33:29 +00:00
Scott Taylor
5168b2e303 After [34070], account for the new ID in Quick Edit JS.
Props afercia.
Fixes #33770.


git-svn-id: https://develop.svn.wordpress.org/trunk@34159 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-15 01:30:36 +00:00
Scott Taylor
95795c1301 More bonkers comment cache cleanup: toggle wp_defer_comment_counting() in wp_insert_post() and wp_insert_attachment(). Move the cache deletion in wp_update_comment_count_now() to before the get_post() call, so that the caches get deleted even if the post has already been deleted and the function returns early.
See #33875.


git-svn-id: https://develop.svn.wordpress.org/trunk@34158 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-15 00:57:48 +00:00
Scott Taylor
8cb6843170 Ensure that the count cache for all is in sync with comment-{$post_id} values. These are the values most often relied-upon by the list table for comments.
Adds unit tests.

See #33875.


git-svn-id: https://develop.svn.wordpress.org/trunk@34136 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-14 22:38:02 +00:00
Dominik Schilling (ocean90)
354000b5ca XMLRPC: Don't allow private posts to be sticky.
See #20662.

git-svn-id: https://develop.svn.wordpress.org/trunk@34135 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-14 22:37:21 +00:00
Nikolay Bachiyski
c430a82236 Shortcodes: don't allow unclosed HTML elements in attributes
git-svn-id: https://develop.svn.wordpress.org/trunk@34134 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-14 22:35:22 +00:00
Nikolay Bachiyski
1541d43033 List tables: escape user e-mails
Better safe than sorry.


git-svn-id: https://develop.svn.wordpress.org/trunk@34133 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-14 22:32:52 +00:00
Scott Taylor
a9e1f79323 In the edit-comments.php admin handler, toggle wp_defer_comment_counting() so that only unique post IDs have their comment count updated. Currently, if you delete 50 comments from the same post, the count would get reset 50 times. Not joking.
See #33875.


git-svn-id: https://develop.svn.wordpress.org/trunk@34132 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-14 22:23:43 +00:00
Scott Taylor
545da32217 The "counts" cache for comments by post id is never invalidated. Neither wp_update_comment_count() nor wp_update_comment_count_now() touch the cache.
Adds unit test.
See #33875.


git-svn-id: https://develop.svn.wordpress.org/trunk@34131 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-14 22:03:23 +00:00
Scott Taylor
b42a906512 wp_unspam_comment() can accept a full object instead of comment_ID to reduce cache/db lookups..
See #33638.


git-svn-id: https://develop.svn.wordpress.org/trunk@34130 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-14 21:46:40 +00:00
Scott Taylor
166ee8674b More comment functions can accept a full object instead of comment_ID to reduce cache/db lookups.
See ##33638.



git-svn-id: https://develop.svn.wordpress.org/trunk@34129 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-14 21:39:46 +00:00
Scott Taylor
ab7ca361dd In WP_List_Table, make a new public method, ->get_primary_column(), and revert [34101] due to BC issues.
Fixes #33854.


git-svn-id: https://develop.svn.wordpress.org/trunk@34128 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-14 20:28:29 +00:00
Scott Taylor
ea610e66d4 In WP_Media_List_Table, fetch all pending comment counts at once, instead of for each row in the loop.
See #11381.


git-svn-id: https://develop.svn.wordpress.org/trunk@34127 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-14 19:24:59 +00:00
John Blackbourn
0c38f660e1 Implement unit tests which use reflection to test functions in pluggable.php. This means any changes to these functions will need explicit changes to their corresponding tests, which helps prevent unintentional breakage.
Fixes #33867


git-svn-id: https://develop.svn.wordpress.org/trunk@34126 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-14 19:14:38 +00:00
Boone Gorges
974517d2bc Accept 'ID' as a valid $field in get_user_by().
We already accept 'id'. `ID` more closely matches the database and
`WP_User` schemas.

Props Shelob9.
Fixes #33869.

git-svn-id: https://develop.svn.wordpress.org/trunk@34125 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-14 18:57:15 +00:00
John Blackbourn
9700eb511e Add the site icon meta tags to wp-login.php.
See #33597
Props iworks


git-svn-id: https://develop.svn.wordpress.org/trunk@34124 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-14 18:01:22 +00:00
Scott Taylor
2c91a4d1e0 Fix the case-sensitivity of some HTTP class usage.
See #33413.


git-svn-id: https://develop.svn.wordpress.org/trunk@34123 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-14 17:36:37 +00:00
John Blackbourn
811e538325 Update links to the user profile editing screen in the admin toolbar when the current logged in user has no role on the current site. Covers single site and Multisite and introduces tests.
Fixes #25162


git-svn-id: https://develop.svn.wordpress.org/trunk@34122 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-14 17:09:58 +00:00
Drew Jaynes
112a84fe93 Docs: Add missing parameter and return descriptions for Walker::get_number_of_root_elements().
Fixes #33662.


git-svn-id: https://develop.svn.wordpress.org/trunk@34121 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-14 15:32:46 +00:00
Sergey Biryukov
13382740b9 Escape class attribute in edit_post_link() after [34098].
Props Offereins.
See #30563.

git-svn-id: https://develop.svn.wordpress.org/trunk@34117 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-14 13:00:31 +00:00
Dominik Schilling (ocean90)
08098026ce Passwords: Deprecate second parameter of wp_new_user_notification().
The second parameter `$plaintext_pass` was removed in [33023] and restored as `$notify` in [33620] with a different behavior. If you have a plugin overriding `wp_new_user_notification()` which hasn't been updated you would get a notification with your username and the password "both".
To prevent this the second parameter is now deprecated and reintroduced as the third parameter.

Adds unit tests.

Props kraftbj, adamsilverstein, welcher, ocean90.
Fixes #33654.

(Don't ask for new pluggables kthxbye)

git-svn-id: https://develop.svn.wordpress.org/trunk@34116 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-14 12:42:34 +00:00
Sergey Biryukov
217c84e613 Docs: Add a changelog entry for the $class argument added to edit_post_link() in [34098].
Fixes #30563.

git-svn-id: https://develop.svn.wordpress.org/trunk@34115 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-14 12:19:55 +00:00
Dominik Schilling (ocean90)
0a77429937 Passwords: Trigger a wp-check-valid-field event when the password field is filled with a password by generatePassword().
Updates event handler in `wpAjax.invalidateForm()` to support `wp-check-valid-field`.

See #33406.

git-svn-id: https://develop.svn.wordpress.org/trunk@34114 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-14 10:38:32 +00:00
Scott Taylor
c16e8b5616 Add sanity checks in map_meta_cap(), return 'do_not_allow' when posts don't exist.
Adds unit test.

Props ocean90, nerrad, filosofo.
Fixes #23162.


git-svn-id: https://develop.svn.wordpress.org/trunk@34113 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-14 04:43:48 +00:00
Boone Gorges
5a6f66faad Send multisite site/user signup emails via hooked functions.
Site and user signup notifications are moved to the new actions
`'after_signup_site'` and `'after_signup_user'`. Site and user activation
notifications are moved to the existing actions `'wpmu_activate_blog'` and
`'wpmu_activate_user'`.

Props dshanske, thomaswm, jeremyfelt.
See #33587..

git-svn-id: https://develop.svn.wordpress.org/trunk@34112 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-14 03:27:47 +00:00
Scott Taylor
a6a03da7f5 Add an argument to parent_dropdown(), $post, to allow it to be called for an arbitrary post.
Fixes #23162.


git-svn-id: https://develop.svn.wordpress.org/trunk@34111 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-14 03:19:59 +00:00
Scott Taylor
adfd136bee Move Walker_Category and Walker_CategoryDropdown into their own files via svn cp. Remove them from category-template.php. Load them in category.php. svn cp category.php over to category-functions.php, which also loads now in category.php.
See #33413.


git-svn-id: https://develop.svn.wordpress.org/trunk@34110 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-14 03:09:37 +00:00
Scott Taylor
1ccae571d9 Move Walker_Page and Walker_PageDropdown into their own files via svn cp. Remove them from post-template.php. Load them in post.php.
`post-template.php` loads after `post.php` in `wp-settings.php`. It could probably also be loaded in `post.php`, but avoiding that for the moment.

See #33413.


git-svn-id: https://develop.svn.wordpress.org/trunk@34109 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-14 02:58:40 +00:00
Scott Taylor
2d5945f0fc In wp_link_pages(), ensure that $prev is greater than 0.
Props betzster.
Fixes #25273.


git-svn-id: https://develop.svn.wordpress.org/trunk@34108 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-14 02:45:33 +00:00
Boone Gorges
6064924c18 Send password-change email notifications via hook.
`wp_password_change_notification()` is now called at the 'after_password_reset'
action, rather than being invoked directly from the `reset_password()` function.

In order to make it possible to call `wp_password_change_notification()` as a
`do_action()` callback, the function signature has to be changed so that the
`$user` parameter is expected to be a value rather than a reference. Since
PHP 5.0, objects are passed by reference, so `&$user` was unnecessary anyway.

Props dshanske, thomaswm.
See #33587.

git-svn-id: https://develop.svn.wordpress.org/trunk@34107 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-14 02:44:41 +00:00
boonebgorges
05d4233956 Send comment notification emails via a hooked function.
Previously, `wp_notify_postauthor()` and `wp_notify_moderator()` were called
directly from `wp_new_comment()`, making it difficult to modify or suppress
default notification emails.

Props dshanske, thomaswm.
See #33587.

git-svn-id: https://develop.svn.wordpress.org/trunk@34106 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-14 02:16:02 +00:00
Scott Taylor
a620cd1e34 Turn off autocomplete for the new-post-slug field.
Props johnbillion.
Fixes #32752.


git-svn-id: https://develop.svn.wordpress.org/trunk@34105 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-14 02:02:58 +00:00
Dion Hulse
9555882e90 When running on windows systems, normalise the capitalisation of the drive letter for more reliable string comparisons.
Props tyxla
Fixes #33265


git-svn-id: https://develop.svn.wordpress.org/trunk@34104 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-14 01:58:03 +00:00
Scott Taylor
b52b5893c4 Pass $r and $pages to the 'wp_dropdown_pages' and 'wp_list_pages' filters.
Props bigdawggi, SergeyBiryukov.
Fixes #23734.


git-svn-id: https://develop.svn.wordpress.org/trunk@34103 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-14 01:31:12 +00:00
Scott Taylor
184e058681 Objects are passed by-reference since PHP 5. In _get_custom_object_labels(), cast $object->labels back to object before returning. This function is weird.
Adds unit test.

Props Toro_Unit.
Fixes #33023.


git-svn-id: https://develop.svn.wordpress.org/trunk@34102 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-14 01:22:23 +00:00
Scott Taylor
5a93988ca3 Make WP_List_Table::get_primary_column_name() public in list table classes that have it.
Fixes #33854.


git-svn-id: https://develop.svn.wordpress.org/trunk@34101 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-14 01:11:44 +00:00
Scott Taylor
5d0bc76040 Check if the $post_type passed to get_post_type_object() is a scalar value. Non-scalars were producing PHP warnings.
Adds unit tests.

Props Kloon.
Fixes #30013.


git-svn-id: https://develop.svn.wordpress.org/trunk@34100 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-14 00:02:05 +00:00
Jeremy Felt
13dd966554 Multisite: Implement the get_by_path method in WP_Network.
Move the internals of `get_network_by_path()` to `WP_Network()` and allow network objects to be retrieved by passing a requested domain and path.

Props johnjamesjacoby, jeremyfelt, drewapicture, wonderboymusic.
See #31985.


git-svn-id: https://develop.svn.wordpress.org/trunk@34099 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-13 23:39:20 +00:00
Scott Taylor
f20622f394 In edit_post_link(), add an argument for the class attribute that defaults to post-edit-link.
Props voldemortensen.
Fixes #30563.


git-svn-id: https://develop.svn.wordpress.org/trunk@34098 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-13 23:33:30 +00:00
Jeremy Felt
591a9aa73c Multisite: Introduce the WP_Network class.
A `WP_Network` object initially matches a row from `wp_site` and is populated with additional properties used by WordPress core. The first iteration is used to retrieve an existing network based on data passed to the class.

* A network can be retrieved by its ID through `WP_Network::get_instance()`, following in the steps of `WP_Post` and `WP_Comment`.
* A network object can be created or completed by passing initial properties in as a standard object to `new WP_Network()`.

Using these methods, we are now able to populate the global `$current_site` during load via this class.

Props johnjamesjacoby, jeremyfelt, drewapicture, wonderboymusic.
See #31985.


git-svn-id: https://develop.svn.wordpress.org/trunk@34097 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-13 23:30:57 +00:00
Andrea Fercia
34c6893080 Bump H3 headings to H2 on the Writing Settings screen for better accessibility.
Props mrahmadawais.
Fixes #33651.

git-svn-id: https://develop.svn.wordpress.org/trunk@34096 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-13 16:47:54 +00:00
Helen Hou-Sandi
379dd889c1 Comments: Fix inline edit/reply on small screens.
props ocean90, SergeyBiryukov.
fixes #33596.


git-svn-id: https://develop.svn.wordpress.org/trunk@34094 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-13 12:46:03 +00:00
Weston Ruter
fd1dbfe003 Customize: Remove redundant aria-label attributes.
Adds an `$options` array argument to `WP_Screen::render_screen_options()` to allow the `div#screen-options-wrap` element to be omitted when `wrap` value is `false`.

Props afercia, westonruter.
Fixes #33182.


git-svn-id: https://develop.svn.wordpress.org/trunk@34093 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-13 06:15:42 +00:00
Jeremy Felt
276fa7cd09 Tests: Update Tests_Feed_RSS::test_items to expect new comment permalink structure.
Introduced in [34075] for posts without comments.

Props netweb.
Fixes #19893.


git-svn-id: https://develop.svn.wordpress.org/trunk@34092 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-12 23:30:11 +00:00
Boone Gorges
829ae5f4ce Fail gracefully when checking mapped cap against unregistered post type.
Post type objects are reponsible for mapping their capabilities to core caps.
As a result, when the post type is no longer registered, the caps are no
longer mapped. This causes problems when a post is left in the database after
the post type is no longer present, and WP does an 'edit_post' or other cap
check against it: a PHP notice is thrown, and the cap check always fails.

As a more graceful fallback, we map all post-type-dependent caps onto
'edit_others_posts', which allows highly privileged users to be able to
access orphaned content (such as comments belonging to disabled post types),
while minimizing the possibility of unintended privilege escalation.

We also add a `_doing_it_wrong()` notice, so that developers and site
administrators are aware that the cap mapping is failing in the absence of
the registered post type.

Props mitchoyoshitaka, DrewAPicture, imath, codeelite, boonebgorges, nofearinc, SergeyBiryukov, jorbin, dlh.
Fixes #16956.

git-svn-id: https://develop.svn.wordpress.org/trunk@34091 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-12 21:26:57 +00:00
Boone Gorges
4fdfdb6078 Use stricter sanitization for meta query clause keys.
By forcing all clause keys to be strings, we make it possible to use strict
comparison when validating values of 'orderby' as passed to `WP_Query`. This
eliminates situations where the presence of numeric clause keys could result
in an improperly validated 'orderby' value.

Props nikolov.tmw.
Fixes #32937.

git-svn-id: https://develop.svn.wordpress.org/trunk@34090 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-12 21:05:14 +00:00
Boone Gorges
dcbd8c6c3d Allow setup_postdata() to accept a post ID.
Previously, it accepted only a full post object.

Props sc0ttclark, mordauk, wonderboymusic.
Fixes #30970.

git-svn-id: https://develop.svn.wordpress.org/trunk@34089 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-12 20:57:06 +00:00
Boone Gorges
4ebab4dc16 Remove extraneous table join in get_adjacent_post().
Since [29248], a table join has not been necessary to process the
`$excluded_terms` parameter of `get_adjacent_post()`. Aside from adding extra
overhead, this join meant that post records that don't have any corresponding
rows in `wp_term_relationships` were erroneously excluded from results.

Fixes #32833.

git-svn-id: https://develop.svn.wordpress.org/trunk@34088 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-12 20:33:07 +00:00
Dominik Schilling (ocean90)
ed36c88b73 Revert [34013] and parts of [33970].
* `_WP_Editors::wp_mce_translation()` can't be changed without changing strings in TinyMCE and plugins.
* `\u2026` is escaped by `json_encode()` to `\\u2026`, makes `\u2026` visible in our UI.

See #32875.

git-svn-id: https://develop.svn.wordpress.org/trunk@34087 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-12 20:02:43 +00:00