Commit Graph

8146 Commits

Author SHA1 Message Date
John Blackbourn
60660b0055 Remove the unnecessary horizontal rules in the oEmbed providers table to tidy up the Code Reference.
See #32246


git-svn-id: https://develop.svn.wordpress.org/trunk@34597 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-26 15:16:05 +00:00
Drew Jaynes
de8abd004f Docs: Add much-needed (and awesome) hash-notation-style documentation for the $args parameter in the plugins_api() DocBlock.
Also fixes up some formatting in the DocBlock summary and description, and adds a link to the function reference, where supplementary information on return object structs and formatting will live.

Props ocean90.
Fixes #34035.


git-svn-id: https://develop.svn.wordpress.org/trunk@34596 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-26 15:12:51 +00:00
Boone Gorges
ecf4b81d72 Use correct property name when setting child comments.
This fixes a typo from [34546], uncovered by unrelated changes in [34583].

See #8071, #27571.

git-svn-id: https://develop.svn.wordpress.org/trunk@34595 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-26 14:40:15 +00:00
Sergey Biryukov
5569780f8a Replace a stray semicolon on Edit Page screen with a full stop.
Props manolis09, sjmur.
Fixes #33297.

git-svn-id: https://develop.svn.wordpress.org/trunk@34594 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-26 13:43:31 +00:00
Drew Jaynes
11e0b8d0b0 Docs: Fix a minor typo from [34592]. Meant to be past-tense, not present.
See #32246.


git-svn-id: https://develop.svn.wordpress.org/trunk@34593 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-26 13:13:50 +00:00
Drew Jaynes
b68ae42ddd Docs: Add missing parameter documentation for $profileuser in the hook doc for show_password_fields, added in [11302].
Also adds a changelog entry for when the parameter was introduced.

See #32246.


git-svn-id: https://develop.svn.wordpress.org/trunk@34592 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-26 13:10:47 +00:00
Sergey Biryukov
411f0f126e Network Admin: Properly pass the number of delete plugins to the corresponding message.
Fixes #33239.

git-svn-id: https://develop.svn.wordpress.org/trunk@34591 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-26 13:10:05 +00:00
Drew Jaynes
35837a00b7 Docs: Relocate the hook doc for the show_password_fields filter to its duplicate, since the original was removed in [34582].
Adds a changelog entry noting the adjustment in behavior, and simplifies the conditional logic.

Fixes #15115.


git-svn-id: https://develop.svn.wordpress.org/trunk@34590 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-26 13:04:23 +00:00
Drew Jaynes
8ec9d5e9e9 Docs: Adjust the table of providers in the hook doc for oembed_providers to use "No" instead of "!" to signify lack of SSL support.
When displayed in the Code Reference, the "!" doesn't convey enough information.

See #32246. See #28507.


git-svn-id: https://develop.svn.wordpress.org/trunk@34589 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-26 12:49:44 +00:00
John Blackbourn
4b9cee0af7 Switch to the https oEmbed endpoint for Animoto because it redirects there anyway.
See #28507


git-svn-id: https://develop.svn.wordpress.org/trunk@34588 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-26 12:23:21 +00:00
John Blackbourn
b387869c4e Switch to the https oEmbed endpoint for Dailymotion so secure embeds are supported.
See #28507


git-svn-id: https://develop.svn.wordpress.org/trunk@34587 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-26 11:50:35 +00:00
Sergey Biryukov
fc98253836 Twenty Fifteen: Add missing commas in rtl.css.
Props netweb.
Fixes #33985.

git-svn-id: https://develop.svn.wordpress.org/trunk@34586 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-26 10:48:57 +00:00
Scott Taylor
10133131e7 Docs: object != class
See [33893] et al.


git-svn-id: https://develop.svn.wordpress.org/trunk@34585 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-26 07:03:17 +00:00
Scott Taylor
1d6c744604 Posts List Table: check is_multi_author() before attempting to set ->user_posts_count. Also, don't show "Mine" when the count is the same as "All."
Fixes #19609.


git-svn-id: https://develop.svn.wordpress.org/trunk@34584 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-26 06:50:03 +00:00
Scott Taylor
706a62a134 Comments: add __get() and __set() to WP_Comment to provide BC for plugins that are grabbing post properties from the comment object due to an (unintended?) side effect of JOINing with the posts table in WP_Comment_Query, see [17667]. 'fields' used to default to *, so the JOIN would grab every field from both tables. #YOLO
Since [34310], these properties no longer exist. We can lazy load them for plugins with the magic methods. 

Fixes #27571.


git-svn-id: https://develop.svn.wordpress.org/trunk@34583 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-26 06:40:39 +00:00
Scott Taylor
1543fbf91b Profile: on user-new.php, don't allow the password fields to be hidden. When hidden, you can't add a user.
Props coffee2code.
Fixes #15115.


git-svn-id: https://develop.svn.wordpress.org/trunk@34582 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-26 06:14:25 +00:00
Scott Taylor
bdce0b8174 Recent Comments Widget: a la [34464], this widget has the same mixed content issues. Remove the fragment caching. The comment queries are now split to scale. This was the only remaining widget with an HTML fragment cache.
Fixes #25556.


git-svn-id: https://develop.svn.wordpress.org/trunk@34581 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-26 06:00:09 +00:00
Scott Taylor
881808bb11 XML-RPC: in wp_xmlrpc_server::wp_editTerm(), check ! empty when applying parent logic.
Adds unit tests.

Props hrishiv90, markoheijnen, sam2kb.
Fixes #21977.


git-svn-id: https://develop.svn.wordpress.org/trunk@34580 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-26 05:30:34 +00:00
Scott Taylor
90ad5546d5 XML-RPC: upgrade the resposnse ofwp_xmlrpc_server::mw_newMediaObject() based on work down in 3.4 so that it runs the struct through ->_prepare_media_item().
Props markoheijnen.
Fixes #6430.


git-svn-id: https://develop.svn.wordpress.org/trunk@34579 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-26 05:14:08 +00:00
Scott Taylor
20020ebf2b XML-RPC: move the malfunctioning 'overwrite' code from wp_xmlrpc_server::mw_newMediaObject(). This was suggested 3 years ago.
Props markoheijnen.
Fixes #17604.


git-svn-id: https://develop.svn.wordpress.org/trunk@34578 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-26 05:02:24 +00:00
Scott Taylor
daa01c703b Cron: In spawn_cron(), when using ALTERNATE_WP_CRON, return early for any non-GET, instead of naively checking ! empty( $_POST ).
Props johnbillion, markoheijnen.
Fixes #27447.


git-svn-id: https://develop.svn.wordpress.org/trunk@34576 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-26 04:50:06 +00:00
Scott Taylor
69f20d3c4b XML-RPC: In wp_xmlrpc_server::wp_getComments(), allow post_type to be passed as part of $struct.
Props nprasath002.
Fixes #20026.


git-svn-id: https://develop.svn.wordpress.org/trunk@34575 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-26 04:44:51 +00:00
Scott Taylor
0cafccfb32 XML-RPC: In wp_xmlrpc_server::wp_getUsersBlogs(), return the isPrimary flag for each blog.
Props SergeyBiryukov, daniloercoli.
Fixes #25958.


git-svn-id: https://develop.svn.wordpress.org/trunk@34574 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-26 04:34:50 +00:00
Scott Taylor
95a810258c XML-RPC: In wp_xmlrpc_server::blogger_editPost(), make use of the $publish arg (the 6th arg passed to the method) to specify publish or draft. Restores the arg, which I removed in [31092], because it was unused cruft.
Props mdawaffe.
Fixes #10764.


git-svn-id: https://develop.svn.wordpress.org/trunk@34573 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-26 04:00:32 +00:00
Scott Taylor
9cf6b6f2d0 XML-RPC: In wp_xmlrpc_server::mw_newPost(), if $dateCreated is not set, don't set post_date and post_date_gmt. It calls wp_insert_post(), which will handle it correctly. The problem was drafts being created and GMT date being set. It shouldn't be.
Adds unit test.

Fixes #16985.


git-svn-id: https://develop.svn.wordpress.org/trunk@34572 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-26 03:37:53 +00:00
Scott Taylor
faad66d510 XML-RPC: IXR_Server::output() is notoriously bad at returning the right value for the Content-Length HTTP header. This header is not required, so we will remove it.
"We could of course remove the content-length header as it is not required" was suggested 10 years ago. The IXR library is not maintained. Our release is the latest, which occurred in 2010.

Fixes #2567.


git-svn-id: https://develop.svn.wordpress.org/trunk@34571 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-26 03:10:23 +00:00
Scott Taylor
0d3da57a9a XML-RPC: wp.getComments should be allowed to return approved comments to those without the 'moderate_comments' cap.
Adds (rewrites) unit tests from 4 years ago that we never committed because....

Props wonderboymusic, koke, ericmann, nprasath002.
Fixes #17981.


git-svn-id: https://develop.svn.wordpress.org/trunk@34570 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-26 02:48:47 +00:00
Scott Taylor
e09edc2d7f Comments: in WP_Comment::get_children(), accept an array so that the values for format, status, hierarchical, and orderby can be passed, instead of just format. The defaults for get_comments() include status = 'all' and orderby = '' - which is no bueno.
For threaded comments, we need comments to be retrieved within bounds, so logged-out users don't see unmoderated comments on the front end, etc.

Updates unit tests.

See #8071.


git-svn-id: https://develop.svn.wordpress.org/trunk@34569 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-26 02:24:17 +00:00
John Blackbourn
1bb2876fe6 callback is not a valid type in PHP, PSR-5, or phpDocumentor. callable should be used instead.
Fixes #34032


git-svn-id: https://develop.svn.wordpress.org/trunk@34566 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-25 23:57:46 +00:00
Drew Jaynes
ea23f4603c Docs: Fix the syntax for a mid-file sectional comment in wp-admin/includes/dashboard.php.
See #32246.


git-svn-id: https://develop.svn.wordpress.org/trunk@34565 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-25 22:50:58 +00:00
Drew Jaynes
7a74f67964 Docs: Remove an inline comment duplicated by the DocBlock summary for wp_dashboard_trigger_widget_control().
Props tyxla.
Fixes #34014.


git-svn-id: https://develop.svn.wordpress.org/trunk@34564 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-25 22:49:02 +00:00
Weston Ruter
78b73c8906 Customizer: Defer embedding widget controls to improve DOM performance and initial load time.
The Menu Customizer feature includes a performance technique whereby the controls for nav menu items are only embedded into the DOM once the containing menu section is expanded. This commit implements the same DOM deferral for widgets but goes a step further than just embedding the controls once the widget area's Customizer section is expanded: it also defers the embedding of the widget control's form until the widget is expanded, at which point the `widget-added` event also fires to allow any additional widget initialization to be done. The deferred DOM embedding can speed up initial load time by 10x or more. This DOM deferral also yields a reduction in overall memory usage in the browser process.

Includes changes to `wp_widget_control()` to facilitate separating out the widget form from the surrounding accordion container; also includes unit tests for this previously-untested function. Also included are initial QUnit tests (finally) for widgets in the Customizer.

Fixes #33901.


git-svn-id: https://develop.svn.wordpress.org/trunk@34563 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-25 21:01:46 +00:00
Boone Gorges
0604eff2e2 After [35461], remove 'page_comments' from database.
* Don't set as part of initial schema.
* Delete as part of the `$unusedoptions` routine.

Props ocean90.
See #8071.

git-svn-id: https://develop.svn.wordpress.org/trunk@34562 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-25 20:49:47 +00:00
Boone Gorges
0b7e8399b0 Force comment pagination on single posts.
Previously, the 'page_comments' toggle allowed users to disable comment
pagination. This toggle was only superficial, however. Even with
'page_comments' turned on, `comments_template()` loaded all of a post's
comments into memory, and passed them to `wp_list_comments()` and
`Walker_Comment`, the latter of which produced markup for only the
current page of comments. In other words, it was possible to enable
'page_comments', thereby showing only a subset of a post's comments on a given
page, but all comments continued to be loaded in the background. This technique
scaled poorly. Posts with hundreds or thousands of comments would load slowly,
or not at all, even when the 'comments_per_page' setting was set to a
reasonable number.

Recent changesets have addressed this problem through more efficient tree-
walking, better descendant caching, and more selective queries for top-level
post comments. The current changeset completes the project by addressing the
root issue: that loading a post causes all of its comments to be loaded too.

Here's the breakdown:

* Comment pagination is now forced. Setting 'page_comments' to false leads to evil things when you have many comments. If you want to avoid pagination, set 'comments_per_page' to something high.
* The 'page_comments' setting has been expunged from options-discussion.php, and from places in the codebase where it was referenced. For plugins relying on 'page_comments', we now force the value to `true` with a `pre_option` filter.
* `comments_template()` now queries for an appropriately small number of comments. Usually, this means the `comments_per_page` value.
* To preserve the current (odd) behavior for comment pagination links, some unholy hacks have been inserted into `comments_template()`. The ugliness is insulated in this function for backward compatibility and to minimize collateral damage. A side-effect is that, for certain settings of 'default_comments_page', up to 2x the value of `comments_per_page` might be fetched at a time.
* In support of these changes, a `$format` parameter has been added to `WP_Comment::get_children()`. This param allows you to request a flattened array of comment children, suitable for feeding into `Walker_Comment`.
* `WP_Query` loops are now informed about total available comment counts and comment pages by the `WP_Comment_Query` (`found_comments`, `max_num_pages`), instead of by `Walker_Comment`.

Aside from radical performance improvements in the case of a post with many
comments, this changeset fixes a bug that caused the first page of comments to
be partial (`found_comments` % `comments_per_page`), rather than the last, as
you'd expect.

Props boonebgorges, wonderboymusic.
Fixes #8071.

git-svn-id: https://develop.svn.wordpress.org/trunk@34561 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-25 20:39:18 +00:00
DrewAPicture
653ababa6f Docs: Improve the method docs for the widget(), update(), form(), and __construct() methods in the WP_Widget base class.
See #34013. See #32246.


git-svn-id: https://develop.svn.wordpress.org/trunk@34560 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-25 20:30:02 +00:00
Scott Taylor
a9e30d8e94 XML-RPC: Introduce the concept of unit testing to wp_xmlrpc_server::wp_newComment():
* Don't allow comments to be created for posts that have `comment_status` set to `'closed'`
* Set some magic props on `WP_User` to vars before passing them to `wp_xmlrpc_server::escape()`

Props wonderboymusic, jesin.
Fixes #27471.


git-svn-id: https://develop.svn.wordpress.org/trunk@34559 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-25 20:19:19 +00:00
Weston Ruter
6db8b9279e Customizer: Fix usage of jQuery.contains() allowing active state changes to again animate control visibility.
Aligns usage of `jQuery.contains()` in a control's `onChangeActive` method with the existing usage in the corresponding `onChangeActive` method for panels and sections.

Props nikeo.
Fixes #33509.


git-svn-id: https://develop.svn.wordpress.org/trunk@34557 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-25 19:54:00 +00:00
Helen Hou-Sandi
9490539e89 Shortlinks: Hide the Get Shortlink button by default.
Shortlinks had their day in the popular usage sun before all these services moved to their own shorteners and running your own custom one became a lot easier. Shortlinks are still useful in some contexts, such as analytics or when links need to be shared verbally or copied down by hand.

If any filters are hooked onto `pre_get_shortlink` or `get_shortlink` and produce a non-empty value (with an exception described below), the button will magically reappear. This allows any custom shortlinks to keep the button without hiccups.

If you're in need of the default shortlinks, the fastest way to reenable them is `add_filter( 'pre_get_shortlink', '__return_false' )`. Note that it must return false in order to continue on to the rest of `wp_get_shortlink()`.

props grvrulz for the initial patch.
fixes #33495.


git-svn-id: https://develop.svn.wordpress.org/trunk@34556 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-25 19:53:28 +00:00
Weston Ruter
25c05ad6f2 Customizer: Flesh out phpdoc description for _wp_customize_include().
Also add brackets around single-statement inline `if` statement.

Fixes #33488.


git-svn-id: https://develop.svn.wordpress.org/trunk@34554 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-25 19:35:48 +00:00
Drew Jaynes
99e157bdd2 Docs: Add a missing summary, version, and tag descriptions to the DocBlock for WP_Widget_Text::widget().
See #32246.


git-svn-id: https://develop.svn.wordpress.org/trunk@34553 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-25 19:23:18 +00:00
Drew Jaynes
5a6a34fa95 Widgets: Pass $this to the widget_text filter to make targeting specific widget instances easier.
Also fixes docs errors in the type and description for the `$instance` parameter, introduced in [27697].

Fixes #24605.


git-svn-id: https://develop.svn.wordpress.org/trunk@34552 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-25 19:20:37 +00:00
John Blackbourn
a6a00a3625 Implement 'Recently Active' functionality for network-wide plugins in the Network Admin.
Fixes #20468
Thanks to WordCamp RI attendees for testing!


git-svn-id: https://develop.svn.wordpress.org/trunk@34551 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-25 19:15:08 +00:00
Boone Gorges
465ff41d1b Remove debug cruft, introduced in [34546].
Props ocean90.
See #8071.

git-svn-id: https://develop.svn.wordpress.org/trunk@34549 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-25 15:25:19 +00:00
Boone Gorges
92da083c00 Normalize whitespace in WP_Comment_Query documentation.
git-svn-id: https://develop.svn.wordpress.org/trunk@34548 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-25 15:24:15 +00:00
Sergey Biryukov
3b9cb92c44 Plugin Editor: Don't split the strings with plugin file name and remove unnecessary context.
Partially reverts [34341].

Fixes #31862.

git-svn-id: https://develop.svn.wordpress.org/trunk@34547 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-25 15:18:58 +00:00
Boone Gorges
e1b44f5203 Introduce hierarchical query support to WP_Comment_Query.
Comments can be threaded. Now your query can be threaded too! Bonus: it's
not totally insane.

* The new `$hierarchical` parameter for `WP_Comment_Query` accepts three values:
  * `false` - Default value, and equivalent to current behavior. No descendants are fetched for matched comments.
  * `'flat'` - `WP_Comment_Query` will fetch the descendant tree for each comment matched by the query paramaters, and append them to the flat array of comments returned. Use this when you have a separate routine for constructing the tree - for example, when passing a list of comments to a `Walker` object.
  * `'threaded'` - `WP_Comment_Query` will fetch the descendant tree for each comment, and return it in a tree structure located in the `children` property of the `WP_Comment` objects.
* `WP_Comment` now has a few utility methods for fetching the descendant tree (`get_children()`), fetching a single direct descendant comment (`get_child()`), and adding anothing `WP_Comment` object as a direct descendant (`add_child()`). Note that `add_child()` only modifies the comment object - it does not touch the database.

Props boonebgorges, wonderboymusic.
See #8071.

git-svn-id: https://develop.svn.wordpress.org/trunk@34546 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-25 15:12:09 +00:00
Boone Gorges
27558ed678 Improve status checks when sending comment post author notification.
[34537] hooked `wp_new_comment_notify_postauthor()` to the
'wp_set_comment_status' when a comment had been approved. When performing
multiple actions on a comment in the same request (as happens in
`Tests_Ajax_DeleteComment::test_ajax_trash_double_action()`, and may happen
sometimes in real life too), and when one of those actions involves deleting
the comment, the `$comment_ID` passed to `wp_new_comment_notify_postauthor()`
can correspond to an already-deleted comment. The `comment_status` check should
account for this possibility.

See #14078.

git-svn-id: https://develop.svn.wordpress.org/trunk@34545 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-25 14:42:48 +00:00
Boone Gorges
8e955c4805 Improve pagination internals in WP_Comment_Query.
`WP_Comment_Query` will now report the total number of comments matching the
query params (`comments_found`), as well as the total number of pages required
to display these comments (`max_num_pages`). Because `SQL_CALC_FOUND_ROWS`
queries can introduce a lot of overhead in some cases, we disable the feature
by default. Pass `no_found_rows=false` to `WP_Comment_Query` to enable the
count. (We use the negative parameter name 'no_found_rows' for parity with
`WP_Query`.)

Props wonderboymusic, boonebgorges.
See #8071.

git-svn-id: https://develop.svn.wordpress.org/trunk@34544 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-25 14:34:20 +00:00
John Blackbourn
03515ca82d Introduce a send_update_notification_email which controls whether an update notification email is sent for background updates. This filter allows control over each of the update types (plugin, theme, translation) and compliments the automatic_updates_send_debug_email and send_core_update_notification_email filters.
Fixes #33932
Props ronalfy


git-svn-id: https://develop.svn.wordpress.org/trunk@34543 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-25 14:28:23 +00:00
Boone Gorges
a453e6aa6f Store SQL clauses in WP_Comment_Query property.
This small syntax change paves the way for some improvements related to #8071.

git-svn-id: https://develop.svn.wordpress.org/trunk@34542 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-25 14:08:50 +00:00