Commit Graph
235 Commits
Author SHA1 Message Date
Drew Jaynes 53a58c6933 Docs: Standardize filter docs in wp-includes/comment.php to use third-person singular verbs per the inline documentation standards for PHP.
See #36913.


git-svn-id: https://develop.svn.wordpress.org/trunk@37512 602fd350-edb4-49c9-b593-d223f7449a82
2016-05-22 18:40:47 +00:00
Drew Jaynes 520ed6b725 Docs: Remove/replace invalid inline @link tags in DocBlocks in wp-includes/*.
Fixes #36910.


git-svn-id: https://develop.svn.wordpress.org/trunk@37487 602fd350-edb4-49c9-b593-d223f7449a82
2016-05-22 17:39:00 +00:00
Rachel Baker 8f14aed705 Comments: Add $data parameter to include the comment data in the edit_comment action.
Props dshanske.

Fixes #36427.



git-svn-id: https://develop.svn.wordpress.org/trunk@37423 602fd350-edb4-49c9-b593-d223f7449a82
2016-05-12 15:36:58 +00:00
Drew Jaynes c7bed4f8c6 Docs: Remove inline @see tags from function, class, and method references in inline docs.
Known functions, classes, and methods are now auto-linked in Code Reference pages following #meta1483.

Note: Hook references are still linked via inline `@see` tags due to the unlikelihood of reliably matching for known hooks based on a RegEx pattern.

See #32246.


git-svn-id: https://develop.svn.wordpress.org/trunk@37342 602fd350-edb4-49c9-b593-d223f7449a82
2016-05-02 03:59:56 +00:00
Dominik Schilling (ocean90) 39ddaa65cc Docs: Correct grammar when referring to "a URL" vs "an URL" in several places.
Fixes #36218.

git-svn-id: https://develop.svn.wordpress.org/trunk@36970 602fd350-edb4-49c9-b593-d223f7449a82
2016-03-12 12:38:48 +00:00
Drew Jaynes 807396f94e Docs: Improve the DocBlock summary for the clean_comment_cache action, introduced in [36405].
See #35610. See #35986.


git-svn-id: https://develop.svn.wordpress.org/trunk@36922 602fd350-edb4-49c9-b593-d223f7449a82
2016-03-10 02:52:48 +00:00
Drew Jaynes 1d89f9e228 Docs: Improve syntax for the $lengths parameter in the hook doc for the wp_get_comment_fields_max_lengths filter, introduced in [36272].
See #10377. See #35986.


git-svn-id: https://develop.svn.wordpress.org/trunk@36921 602fd350-edb4-49c9-b593-d223f7449a82
2016-03-10 02:50:46 +00:00
Drew Jaynes 773ed4a36c Docs: Improve the DocBlock summary for wp_get_comment_fields_max_lengths(), introduced in [36514].
See #10377. See #35986.


git-svn-id: https://develop.svn.wordpress.org/trunk@36920 602fd350-edb4-49c9-b593-d223f7449a82
2016-03-10 02:45:15 +00:00
Drew Jaynes a982b5462c Docs: Improve the DocBlock summary for wp_queue_comments_for_comment_meta_lazyload(), introduced in [36566].
See #35816. See #35986.


git-svn-id: https://develop.svn.wordpress.org/trunk@36919 602fd350-edb4-49c9-b593-d223f7449a82
2016-03-10 02:42:16 +00:00
Sergey Biryukov 1c00dc7150 Comments: Pass comment data to the comment_post filter.
Props dshanske.
See #34141.

git-svn-id: https://develop.svn.wordpress.org/trunk@36660 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-24 00:48:52 +00:00
Boone Gorges b4f1d6ff55 Docs: Correct param types on some filters in wp_filter_comment().
Introduced in [26491].

Props meitar, netweb.
Fixes #35908.

git-svn-id: https://develop.svn.wordpress.org/trunk@36626 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-23 03:05:26 +00:00
Andrew Ozz bb49a958d2 Replace wp_upload_dir() with the new wp_get_upload_dir() in all cases where a file is not being uploaded. Deprecate _wp_upload_dir_baseurl(), and replace it with wp_get_upload_dir().
See #34359.

git-svn-id: https://develop.svn.wordpress.org/trunk@36569 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-18 00:23:04 +00:00
Boone Gorges 28fad09b61 More performance improvements to metadata lazyloading.
Comment and term meta lazyloading for `WP_Query` loops, introduced in 4.4,
depended on filter callback methods belonging to `WP_Query` objects. This meant
storing `WP_Query` objects in the `$wp_filter` global (via `add_filter()`),
requiring that PHP retain the objects in memory, even when the local variables
would typically be expunged during normal garbage collection. In cases where a
large number of `WP_Query` objects were instantiated on a single pageload,
and/or where the contents of the `WP_Query` objects were quite large, serious
performance issues could result.

We skirt this problem by moving metadata lazyloading out of `WP_Query`. The
new `WP_Metadata_Lazyloader` class acts as a lazyload queue. Query instances
register items whose metadata should be lazyloaded - such as post terms, or
comments - and a `WP_Metadata_Lazyloader` method will intercept comment and
term meta requests to perform the cache priming. Since `WP_Metadata_Lazyloader`
instances are far smaller than `WP_Query` (containing only object IDs), and
clean up after themselves far better than the previous `WP_Query` methods (bp
only running their callbacks a single time for a given set of queued objects),
the resource use is decreased dramatically.

See [36525] for an earlier step in this direction.

Props lpawlik, stevegrunwell, boonebgorges.
Fixes #35816.

git-svn-id: https://develop.svn.wordpress.org/trunk@36566 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-17 22:57:33 +00:00
Andrew Ozz d3a848c773 Comments: look for wp_error when checking whether $wpdb->get_col_length() has failed.
See #10377.

git-svn-id: https://develop.svn.wordpress.org/trunk@36542 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-16 23:49:43 +00:00
Rachel Baker 8718eb2536 Comments: Change wp_get_comment_column_max_length() function to wp_get_comment_fields_max_lengths() for consolidation and better fallbacks.
Instead of returning a value for each of the related table column lengths, return an array of all of the column lengths used in the comment form.
Better fallback handling, where each field falls back to the expected max_length instead of an arbitrary number.

Props azaozz.

Fixes #10377.

git-svn-id: https://develop.svn.wordpress.org/trunk@36514 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-12 13:54:50 +00:00
Eric Andrew Lewis 01f88b1ae4 Comments: Fire an action after a comment is removed from object cache.
When a comment is removed from the object cache, the `clean_comment_cache` action is now fired. This provides plugin and theme developers a chance to perform secondary cache invalidation as needed.

Props spacedmonkey.
Fixes #35610.


git-svn-id: https://develop.svn.wordpress.org/trunk@36405 602fd350-edb4-49c9-b593-d223f7449a82
2016-01-26 03:46:40 +00:00
Rachel Baker 63e9eb7e5e Comments: Use TEXT column type in fallback for wp_get_comment_column_max_length().
Fixes #10377.


git-svn-id: https://develop.svn.wordpress.org/trunk@36325 602fd350-edb4-49c9-b593-d223f7449a82
2016-01-15 20:09:08 +00:00
Pascal Birchler 63e442bbb8 Comments: Add a new pre_wp_update_comment_count_now filter.
This allows filtering a post's comment count before it is queried and updated in the database.

Props peterwilsoncc for initial patch.
Fixes #35060.

git-svn-id: https://develop.svn.wordpress.org/trunk@36318 602fd350-edb4-49c9-b593-d223f7449a82
2016-01-15 13:41:35 +00:00
Rachel Baker 0e85f45cb4 Comments: Restrict the maximum characters for input fields within the comments template.
Added hardcoded maxlength attributes on the author, author_email, author_url, and comment_field input markup. These can be modified via the comment_form_defaults filter. Added logic in wp_handle_comment_submission() to return a WP_Error when the comment_author, comment_author_url, or comment_content values exceed the max length of their columns. Introduces wp_get_comment_column_max_length() which returns the max column length for a given column name, and is filterable. Unit tests included for the error conditions in wp_handle_comment_submission()

Fixes #10377.

Props westonruter rachelbaker.


git-svn-id: https://develop.svn.wordpress.org/trunk@36272 602fd350-edb4-49c9-b593-d223f7449a82
2016-01-13 01:24:46 +00:00
Boone Gorges e49c8b425c Allow comment agent and author IP to be set via wp_update_comment().
Props adamsilverstein, welcher.
Fixes #35276.

git-svn-id: https://develop.svn.wordpress.org/trunk@36215 602fd350-edb4-49c9-b593-d223f7449a82
2016-01-07 03:54:05 +00:00
Rachel Baker ea9451bd1c Docs: Add null to post_id param type, fix syntax, and descriptions in the DocBlock for wp_update_comment_count().
See #32246.



git-svn-id: https://develop.svn.wordpress.org/trunk@36139 602fd350-edb4-49c9-b593-d223f7449a82
2015-12-31 19:20:21 +00:00
Aaron Jorbin d65a4e6498 Ensure only approved comments trigger post author notifications
Posts that are trashed shouldn't trigger post author notifications.  Adds unit tests to enforce this.

Props scottbrownconsulting, peterwilsoncc, swissspidy
Fixes #35006



git-svn-id: https://develop.svn.wordpress.org/trunk@36119 602fd350-edb4-49c9-b593-d223f7449a82
2015-12-29 17:53:23 +00:00
Rachel Baker 61ff693ff0 Comments: Return early from wp_update_comment_count() if there is not a valid post.
Props ambrosey, juanfra. 
Fixes #34977



git-svn-id: https://develop.svn.wordpress.org/trunk@36115 602fd350-edb4-49c9-b593-d223f7449a82
2015-12-28 22:57:37 +00:00
John Blackbourn 4024cb673a Comments: When a comment is submitted, ensure the user_ID element in the array that's passed to the preprocess_comment filter gets populated.
Fixes #34997


git-svn-id: https://develop.svn.wordpress.org/trunk@36038 602fd350-edb4-49c9-b593-d223f7449a82
2015-12-21 02:46:44 +00:00
Rachel Baker c2943ef70a Comments: Use an integer as the default value for comment_post_ID in wp_insert_comment to match database column.
Props MikeHansenMe, juanfra, rabmalin. 
Fixes #34956



git-svn-id: https://develop.svn.wordpress.org/trunk@35948 602fd350-edb4-49c9-b593-d223f7449a82
2015-12-15 15:12:50 +00:00
Sergey Biryukov 4e130ed78f I18N: Use better context for comment statuses.
See #35054.

git-svn-id: https://develop.svn.wordpress.org/trunk@35902 602fd350-edb4-49c9-b593-d223f7449a82
2015-12-13 19:10:04 +00:00
Rachel Baker d13adcc9bf Comments: Comments don’t need no Post ID when created, so they don’t be needing one to be edited.
In `wp_update_comment()` only check if the given `comment_post_ID` is valid if it isn’t `0`.  This allows comments that were created programmatically via `wp_insert_comment()` without the (optional) `comment_post_ID` parameter to be edited.

Props subharanjan for the initial patch.
Fixes #34954



git-svn-id: https://develop.svn.wordpress.org/trunk@35853 602fd350-edb4-49c9-b593-d223f7449a82
2015-12-10 15:16:51 +00:00
John Blackbourn a8ea7d98b5 Ensure the correct error message is returned when a user attempts to comment on a post to which they do not have access.
Adds more tests.


git-svn-id: https://develop.svn.wordpress.org/trunk@35745 602fd350-edb4-49c9-b593-d223f7449a82
2015-11-28 18:28:54 +00:00
Sergey Biryukov 3e634c753e After [35718], update the location of some files in This filter is documented in docs.
Partially reverts [33954].

Fixes #33413.

git-svn-id: https://develop.svn.wordpress.org/trunk@35725 602fd350-edb4-49c9-b593-d223f7449a82
2015-11-22 03:50:32 +00:00
Andrew Nacin 8220d04e6d Simplify the include graph after work to split out classes.
see #33413. More details there.


git-svn-id: https://develop.svn.wordpress.org/trunk@35718 602fd350-edb4-49c9-b593-d223f7449a82
2015-11-20 07:23:04 +00:00
Drew Jaynes 4e0b71390f Docs: The Comment API is singular.
See #33701.


git-svn-id: https://develop.svn.wordpress.org/trunk@34410 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-22 13:43:55 +00:00
Scott Taylor 8088ffafd6 Walker_Comment should be in its own file. Loaded now via wp-includes/comment.php, which makes it 100% BC.
See #33413.


git-svn-id: https://develop.svn.wordpress.org/trunk@33962 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-09 02:40:53 +00:00
Drew Jaynes a767e01f17 Docs: Clarify the file header summary for wp-includes/comment.php, the top-level file for the core Comments API.
Also adds inline DocBlock for the `require_once()` calls that now bring in the `WP_Comment` and `WP_Comment_Query` classes, as well as core comments functionality.

See #33413. See #33701.


git-svn-id: https://develop.svn.wordpress.org/trunk@33900 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-04 01:46:29 +00:00
Scott Taylor 60ba8b05e4 Introduce WP_Comment class to model/strongly-type rows from the comments database table. Inclusion of this class is a pre-req for some more general comment cleanup and sanity.
* Takes inspiration from `WP_Post` and adds sanity to comment caching. 
* Clarifies when the current global value for `$comment` is returned. The current implementation in `get_comment()` introduces side effects and an occasion stale global value for `$comment` when comment caches are cleaned.
* Strongly-types `@param` docs
* This class is marked `final` for now

Props wonderboymusic, nacin.

See #32619.


git-svn-id: https://develop.svn.wordpress.org/trunk@33891 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-03 18:16:35 +00:00
Scott Taylor d61669232c Comments: move WP_Comment_Query into its own file. comment.php loads the new files, so this is 100% BC if someone is loading comment.php directly. New files created using svn cp.
Creates: 
`class-wp-comment-query.php` 
`comment-functions.php` 

`comment.php` contains only top-level code. Class file only contains the class. Functions file only contains functions.

See #33413.


git-svn-id: https://develop.svn.wordpress.org/trunk@33750 602fd350-edb4-49c9-b593-d223f7449a82
2015-08-26 04:26:29 +00:00
Scott Taylor 3b8c5529cb foreach is a statement, not a function.
See #33491.


git-svn-id: https://develop.svn.wordpress.org/trunk@33734 602fd350-edb4-49c9-b593-d223f7449a82
2015-08-25 20:27:56 +00:00
Drew Jaynes e853c467fd Docs: Document the default comment data arguments for wp_new_comment().
Props rachelbaker, DrewAPicture
Fixes #32369.


git-svn-id: https://develop.svn.wordpress.org/trunk@33730 602fd350-edb4-49c9-b593-d223f7449a82
2015-08-25 17:02:51 +00:00
Scott Taylor cb9f80009f Comments shouldn't have more than one _wp_trash_meta_status entry. When deleting _wp_trash_meta_status, also delete _wp_trash_meta_time.
See #11200.


git-svn-id: https://develop.svn.wordpress.org/trunk@33654 602fd350-edb4-49c9-b593-d223f7449a82
2015-08-20 02:44:39 +00:00
Drew Jaynes e47cc9e088 Fix inline documentation syntax for get_default_comment_status(), introduced in 4.3.
See [33122]. See #32891.


git-svn-id: https://develop.svn.wordpress.org/trunk@33223 602fd350-edb4-49c9-b593-d223f7449a82
2015-07-13 21:22:06 +00:00
Helen Hou-Sandi 3762069f89 Move get_default_comment_status() to wp-includes/comment.php to sit alongside get_comment_statuses().
props nacin.
see #31168.


git-svn-id: https://develop.svn.wordpress.org/trunk@33122 602fd350-edb4-49c9-b593-d223f7449a82
2015-07-08 15:43:24 +00:00
Boone Gorges e8a16ec322 Allow 'comment_agent' and 'comment_author_IP' to be set via wp_new_comment().
Props mrutz, wonderboymusic, rachelbaker.
Fixes #14601.

git-svn-id: https://develop.svn.wordpress.org/trunk@33021 602fd350-edb4-49c9-b593-d223f7449a82
2015-07-01 12:07:28 +00:00
Scott Taylor f162be6046 For doc block types, favor bool over the few remaining booleans
See #32444.


git-svn-id: https://develop.svn.wordpress.org/trunk@32964 602fd350-edb4-49c9-b593-d223f7449a82
2015-06-27 01:02:12 +00:00
Boone Gorges 641e701865 In WP_Comment_Query, parse meta_query vars after the pre_get_comments hook.
[31467] included a change that involved generating meta_query SQL before the
`pre_get_comments` hook, with the result that `pre_get_comments` callbacks were
no longer able to modify comment meta queries. We fix the problem by moving the
SQL generation to after the hook.

This changeset also includes a second call to `meta_query->parse_query_vars()`,
to ensure that modifications to metadata-related query vars (such as `meta_key`
and `meta_value`) performed in `pre_get_comments` callbacks have the expected
effect on the comment query.

Fixes #32762.

git-svn-id: https://develop.svn.wordpress.org/trunk@32911 602fd350-edb4-49c9-b593-d223f7449a82
2015-06-23 14:35:29 +00:00
Scott Taylor 89328eb69f Customizer et al, use elseif in PHP, not else if.
This was corrected via brute force in [31090].

See #32444.


git-svn-id: https://develop.svn.wordpress.org/trunk@32874 602fd350-edb4-49c9-b593-d223f7449a82
2015-06-19 22:00:33 +00:00
Andrew Nacin cda77232fe Update comment caches in WP_Comment_Query, rather than comments template.
props dd32.
fixes #31081.


git-svn-id: https://develop.svn.wordpress.org/trunk@32769 602fd350-edb4-49c9-b593-d223f7449a82
2015-06-14 19:20:12 +00:00
Scott Taylor c8a44d437a Add @static* annotations where they are missing.
Initialize all static vars that are not, most to `null`.

See #32444.


git-svn-id: https://develop.svn.wordpress.org/trunk@32650 602fd350-edb4-49c9-b593-d223f7449a82
2015-05-29 15:42:40 +00:00
Scott Taylor 19108352b9 Add missing doc blocks to comment.php.
See #32444.


git-svn-id: https://develop.svn.wordpress.org/trunk@32587 602fd350-edb4-49c9-b593-d223f7449a82
2015-05-24 21:03:42 +00:00
Scott Taylor 88947981c3 Add missing doc blocks to class-wp-theme.php.
See #32444.


git-svn-id: https://develop.svn.wordpress.org/trunk@32547 602fd350-edb4-49c9-b593-d223f7449a82
2015-05-22 17:30:44 +00:00
Drew Jaynes f927722bc0 Update the DocBlock for wp_new_comment() to reference the wp_insert_comment() documentation for argument information.
Fixes #31747.


git-svn-id: https://develop.svn.wordpress.org/trunk@32500 602fd350-edb4-49c9-b593-d223f7449a82
2015-05-13 02:53:03 +00:00
Drew Jaynes 6855376930 Document the default arguments for wp_insert_comment() as a hash notation.
Props lamosty, rachelbaker.
See #31747.


git-svn-id: https://develop.svn.wordpress.org/trunk@32499 602fd350-edb4-49c9-b593-d223f7449a82
2015-05-13 02:50:56 +00:00