85 Commits

Author SHA1 Message Date
Boone Gorges
637bedeece Use table prefix for comment__in and comment__not_in SQL clauses of WP_Comment_Query.
The prefix prevents ambiguity when joining against other tables.

Props willgladstone.
Fixes #32081.

git-svn-id: https://develop.svn.wordpress.org/trunk@32461 602fd350-edb4-49c9-b593-d223f7449a82
2015-05-08 19:44:06 +00:00
Gary Pendergast
2ce97b2984 WPDB: When checking that a string can be sent to MySQL, we shouldn't use mb_convert_encoding(), as it behaves differently to MySQL's character encoding conversion.
Props mdawaffe, pento, nbachiyski, jorbin, johnjamesjacoby, jeremyfelt.

See #32165.



git-svn-id: https://develop.svn.wordpress.org/trunk@32364 602fd350-edb4-49c9-b593-d223f7449a82
2015-05-06 02:59:50 +00:00
Dominik Schilling (ocean90)
b0d6757918 Use HTTPS URLs for codex.wordpress.org.
see #27115.

git-svn-id: https://develop.svn.wordpress.org/trunk@32116 602fd350-edb4-49c9-b593-d223f7449a82
2015-04-12 21:28:58 +00:00
Drew Jaynes
e3ba57d15d Remove an unnecessary inline @see tag and document the $wpdb global in two WP_Comment_Query methods.
See [31793]. See #31888.


git-svn-id: https://develop.svn.wordpress.org/trunk@32038 602fd350-edb4-49c9-b593-d223f7449a82
2015-04-05 15:46:24 +00:00
Sergey Biryukov
de44adee46 Remove obsolete $wpdb reference from get_comments() docs.
props lamosty.
fixes #31748.

git-svn-id: https://develop.svn.wordpress.org/trunk@31870 602fd350-edb4-49c9-b593-d223f7449a82
2015-03-24 15:42:09 +00:00
Drew Jaynes
fb1873cfe6 Move the default arguments hash notation for WP_Comment_Query to the new constructor, where the argument definitions were moved in [31793].
Core style dictates that the default arguments should be documented in the same function or method where they are defined.

See [31793].
Fixes #24826.


git-svn-id: https://develop.svn.wordpress.org/trunk@31795 602fd350-edb4-49c9-b593-d223f7449a82
2015-03-16 20:17:35 +00:00
Boone Gorges
12784e13d4 Improve method consistency in WP_Comment_Query.
* Introduce a `__construct()` method, which can accept an array of query vars.
* Move query logic out of `query()` method and into a new `get_comments()` method.
* Ensure that `$this->comments` is set whenever `get_comments()` returns a value.
* Introduce a `parse_query()` method, where query vars are parsed with default values and the 'parse_comment_query' action is fired.

These changes bring `WP_Comment_Query` syntax closer to that of `WP_Query`.

Props westonruter, morganestes, boonebgorges.
Fixes #24826.

git-svn-id: https://develop.svn.wordpress.org/trunk@31793 602fd350-edb4-49c9-b593-d223f7449a82
2015-03-16 14:23:33 +00:00
Boone Gorges
c1b30747d5 Respect comment_date and comment_date_gmt params in wp_new_comment().
Props solarissmoke, oso96_2000.
Fixes #14279.

git-svn-id: https://develop.svn.wordpress.org/trunk@31615 602fd350-edb4-49c9-b593-d223f7449a82
2015-03-05 02:59:47 +00:00
Scott Taylor
a524e05572 wp_insert_comment() should be checking and setting $compacted, not the non-existent $post_data.
See [31263], #21212.


git-svn-id: https://develop.svn.wordpress.org/trunk@31553 602fd350-edb4-49c9-b593-d223f7449a82
2015-02-26 05:37:34 +00:00
Boone Gorges
8bf5fce78f Improve 'orderby' syntax for WP_Comment_Query.
Since [29027], `WP_Query` has supported an array of values for the `$orderby`
parameter, with field names as array keys and ASC/DESC as the array values.
This changeset introduces the same syntax to `WP_Comment_Query`.

We leverage the new support for multiple ORDER BY clauses to fix a bug that
causes comments to be queried in an indeterminate order when sorting by the
default `comment_date_gmt` and comments share the same value for
`comment_date_gmt`. By always including a `comment_ID` subclause at the end of
the ORDER BY statement, we ensure that comments always have a unique fallback
for sorting.

This changeset also includes improvements paralleling those introduced to
`WP_Query` in [31312] and [31340], which allow `$orderby` to accept array keys
from specific `$meta_query` clauses. This change lets devs sort by multiple
clauses of an associated meta query. See #31045.

Fixes #30478. See #31265.

git-svn-id: https://develop.svn.wordpress.org/trunk@31467 602fd350-edb4-49c9-b593-d223f7449a82
2015-02-16 14:09:40 +00:00
Gary Pendergast
cd02bd0702 Comments: When a comment fails to insert, remove invalid characters from the email and URL fields, too.
See [31263], #21212



git-svn-id: https://develop.svn.wordpress.org/trunk@31264 602fd350-edb4-49c9-b593-d223f7449a82
2015-01-21 23:17:08 +00:00
Gary Pendergast
b2642750ce Comments: When a comment fails to insert, remove any invalid characters and try again.
See #21212



git-svn-id: https://develop.svn.wordpress.org/trunk@31263 602fd350-edb4-49c9-b593-d223f7449a82
2015-01-21 23:03:48 +00:00
Gary Pendergast
58d931dfc7 Allow comment_post_ID to be passed to wp_update_comment(), so that a comment can be moved to a different post.
Props tyxla, rachelbaker

Fixes #30946



git-svn-id: https://develop.svn.wordpress.org/trunk@31195 602fd350-edb4-49c9-b593-d223f7449a82
2015-01-16 02:38:30 +00:00
Sergey Biryukov
819a53be46 Add 'user_id' to the list of fields wp_update_comment() can update.
props jphase.
fixes #30307.

git-svn-id: https://develop.svn.wordpress.org/trunk@31172 602fd350-edb4-49c9-b593-d223f7449a82
2015-01-13 06:47:33 +00:00
Sergey Biryukov
a744bb9a5f Add 'comment_type' to the list of fields wp_update_comment() can update.
props desaiuditd.
fixes #30627.

git-svn-id: https://develop.svn.wordpress.org/trunk@31171 602fd350-edb4-49c9-b593-d223f7449a82
2015-01-13 06:41:19 +00:00
Scott Taylor
1178e8a6e1 In WP_Comment_Query, only allow __call() to run against ->get_search_sql().
See #30891.


git-svn-id: https://develop.svn.wordpress.org/trunk@31150 602fd350-edb4-49c9-b593-d223f7449a82
2015-01-11 22:32:44 +00:00
Scott Taylor
6fd11624d1 The keyword elseif should be used instead of else if so that all control keywords look like single words.
This was a mess, is now standardized across the codebase, except for a few 3rd-party libs. 

See #30799.


git-svn-id: https://develop.svn.wordpress.org/trunk@31090 602fd350-edb4-49c9-b593-d223f7449a82
2015-01-08 07:04:40 +00:00
Boone Gorges
bd03b2ead8 Support array values for post-related parameters in WP_Comment_Query.
Props nprasath002, c3mdigital, ianmjones.
Fixes #20006.

git-svn-id: https://develop.svn.wordpress.org/trunk@31015 602fd350-edb4-49c9-b593-d223f7449a82
2014-12-31 19:37:09 +00:00
Scott Taylor
4d46475b3d Improve various @param docs for src/wp-includes/*.
See #30224.


git-svn-id: https://develop.svn.wordpress.org/trunk@30681 602fd350-edb4-49c9-b593-d223f7449a82
2014-12-01 01:33:34 +00:00
Drew Jaynes (DrewAPicture)
e587324180 Docs Formatting: Backtick-escape inline code for all remaining dynamic hook docs in wp-includes/*.
Affects DocBlocks for the following hooks:
* `auth_post_meta_{$meta_key}`
* `term_links-$taxonomy`
* `customize_render_control_ . $this->id`
* `customize_render_panel_{$this->id}`
* `customize_render_section_{$this->id}`
* `customize_preview_{$this->id}`
* `customize_save_ . $this->id_data[ 'base' ]`
* `customize_update_ . $this->type`
* `customize_value_ . $this->id_data[ 'base' ]`
* `customize_sanitize_js_{$this->id}`
* `comment_form_field_{$name}`
* `comment_{$old_status}_to_{$new_status}`
* `comment_{$new_status}_{$comment->comment_type}`
* `extra_{$context}_headers`
* `get_template_part_{$slug}`
* `get_the_generator_{$type}`
* `get_{$adjacent}_post_join`
* `get_{$adjacent}_post_where`
* `get_{$adjacent}_post_sort`
* `{$adjacent}_post_rel_link`
* `{$adjacent}_post_link`
* `{$adjacent}_image_link`
* `blog_option_{$option}`
* `$permastructname . _rewrite_rules`
* `{$type}_template`
* `theme_mod_{$name}`
* `pre_set_theme_mod_$name`
* `current_theme_supports-{$feature}`
* `get_user_option_{$option}`
* `edit_user_{$field}`
* `pre_user_{$field}`
* `user_{$field}`

See #30552.


git-svn-id: https://develop.svn.wordpress.org/trunk@30656 602fd350-edb4-49c9-b593-d223f7449a82
2014-11-30 12:09:56 +00:00
Dominik Schilling (ocean90)
fb8588f115 Comments: Use proper HTTP response codes for validation errors.
props miqrogroove, solarissmoke, mackensen.
fixes #11286.

git-svn-id: https://develop.svn.wordpress.org/trunk@30579 602fd350-edb4-49c9-b593-d223f7449a82
2014-11-26 20:16:47 +00:00
Boone Gorges
10b611b0c3 Return an empty array from get_approved_comments() when $post_id is empty.
This behavior was broken when moving the internals to `WP_Comment_Query` in
[30098]. As a result, `get_approved_comments( 0 )` was fetching *all* approved
comments, causing performance issues.

Props dd32.
Fixes #30412.

git-svn-id: https://develop.svn.wordpress.org/trunk@30402 602fd350-edb4-49c9-b593-d223f7449a82
2014-11-20 01:51:38 +00:00
Drew Jaynes (DrewAPicture)
136b853399 Cross-reference WP_Comment_Query::query() as the location for finding information on default arguments for WP_Comment_Query.
Also updates the return types on `get_comments()` and `get_approved_comments()`, as an integer can also be returned if the `$count` argument is true.

Fixes #30111.


git-svn-id: https://develop.svn.wordpress.org/trunk@30281 602fd350-edb4-49c9-b593-d223f7449a82
2014-11-08 20:35:00 +00:00
Drew Jaynes (DrewAPicture)
9df38af4f7 Document default arguments for WP_Comment_Query class as a hash notation.
Props boonebgorges, DrewAPicture.
See #30111.


git-svn-id: https://develop.svn.wordpress.org/trunk@30280 602fd350-edb4-49c9-b593-d223f7449a82
2014-11-08 20:18:50 +00:00
Scott Taylor
3942ff4616 Correct all @return unknown instances.
See #30224.


git-svn-id: https://develop.svn.wordpress.org/trunk@30202 602fd350-edb4-49c9-b593-d223f7449a82
2014-11-03 06:16:34 +00:00
Scott Taylor
bfa6702145 In WP_Comment_Query, declare $query_vars and $comments as properties.
See #30224.


git-svn-id: https://develop.svn.wordpress.org/trunk@30182 602fd350-edb4-49c9-b593-d223f7449a82
2014-11-03 03:07:42 +00:00
Drew Jaynes (DrewAPicture)
7cd15026bd Correct references of @uses $wpdb in core documentation to use @global.
See #30191, [30105].
Fixes #30217.


git-svn-id: https://develop.svn.wordpress.org/trunk@30122 602fd350-edb4-49c9-b593-d223f7449a82
2014-10-31 17:55:39 +00:00
Drew Jaynes (DrewAPicture)
dfe2224b5c Update the changelog for WP_Comment_Query::query() to reflect two more new arguments added in [30096].
[30096] introduced the `type__in` and `type__not_in` arguments. See #30111 for documentation on those new arguments.

Fixes #12668.


git-svn-id: https://develop.svn.wordpress.org/trunk@30110 602fd350-edb4-49c9-b593-d223f7449a82
2014-10-30 03:05:29 +00:00
Drew Jaynes (DrewAPicture)
b2ec3c4303 Update the changelog for get_approved_comments() to reflect that the function was refactored to leverage WP_Comment_Query in [30098].
Also updates the `$args` parameter description with a reference to see `WP_Comment_Query` for argument information.

See #12668.


git-svn-id: https://develop.svn.wordpress.org/trunk@30109 602fd350-edb4-49c9-b593-d223f7449a82
2014-10-30 02:50:16 +00:00
Drew Jaynes (DrewAPicture)
3cc10d77a0 Remove redundant and erroneous @uses tag from most core inline documentation.
Per our inline documentation standards, no further use of the `@uses` tag is recommended as used and used-by relationships can be derived through other means. This removes most uses of the tag in core documentation, with remaining tags to be converted to `@global` or `@see` as they apply.

Fixes #30191.


git-svn-id: https://develop.svn.wordpress.org/trunk@30105 602fd350-edb4-49c9-b593-d223f7449a82
2014-10-30 01:04:55 +00:00
Boone Gorges
f9e32aef2d Use WP_Comment_Query to query comments in get_approved_comments().
Props dancameron.
See #12668.

git-svn-id: https://develop.svn.wordpress.org/trunk@30098 602fd350-edb4-49c9-b593-d223f7449a82
2014-10-29 21:57:07 +00:00
Boone Gorges
bd795a3d16 Better flexibility for 'type' in WP_Comment_Query.
* Add support for an array of values in 'type'.
* Introduce `type__in` parameter. This duplicates 'type' but is added for better consistency with other query classes.
* Introduce `type__not_in`.

Among other things, these changes will make it easier for plugin authors to
manage the appearance of custom comment types in various WP interfaces.

Props dancameron, mordauk.
See #12668.

git-svn-id: https://develop.svn.wordpress.org/trunk@30096 602fd350-edb4-49c9-b593-d223f7449a82
2014-10-29 21:49:08 +00:00
Boone Gorges
555d7347f9 Support an empty string passed as a status in WP_Comment_Query.
The changes in [30084] broke backward compatibility with interfaces that
manually passed an empty string for the value of 'status', such as on
wp-admin/edit-comments.php.

Fixes #29612.

git-svn-id: https://develop.svn.wordpress.org/trunk@30093 602fd350-edb4-49c9-b593-d223f7449a82
2014-10-29 19:50:31 +00:00
Boone Gorges
7c4aada4a6 Support multiple 'status' values in WP_Comment_Query.
This change required turning the SQL concatenation into the generation of an
array, for greater flexibility.

Props karpstrucking, ebinnion.
Fixes #29612.

git-svn-id: https://develop.svn.wordpress.org/trunk@30084 602fd350-edb4-49c9-b593-d223f7449a82
2014-10-29 02:21:10 +00:00
Boone Gorges
4482d000ba Fix 'count' in WP_Comment_Query when using 'meta_query'.
Props heshiming, desaiuditd.
Fixes #23369.

git-svn-id: https://develop.svn.wordpress.org/trunk@30026 602fd350-edb4-49c9-b593-d223f7449a82
2014-10-26 16:45:37 +00:00
Boone Gorges
382871ad9d Allow ORDER BY in WP_Comment_Query::query() to be disabled.
Disable ORDER BY by passing boolean false, an empty array, or the string
'none' to the 'orderby parameter. This mirrors the behavior of `WP_Query`.

Props psycleuk.
Fixes #29902.

git-svn-id: https://develop.svn.wordpress.org/trunk@30004 602fd350-edb4-49c9-b593-d223f7449a82
2014-10-24 02:50:24 +00:00
Boone Gorges
ce810ba5b3 Add unit tests for WP_Comment_Query 'orderby' param.
For better testability, the SQL string generated in `WP_Comment_Query::get_posts()`
is now stored as a 'request' property on the object.

See #29902.

git-svn-id: https://develop.svn.wordpress.org/trunk@30003 602fd350-edb4-49c9-b593-d223f7449a82
2014-10-24 02:33:46 +00:00
Boone Gorges
348c8958da Use the comment API rather than direct SQL queries in comments_template().
`comments_template()` is used by most themes to display a post's comments. It
shows all comments that have been approved, and also shows all pending comments
by the current visitor (as determined by the comment cookies). However, the
comments API previously had no way of querying for "all comments that are
either approved, or are unapproved but written by foo@example.com". The
workaround was a direct SQL query: uncached, not subject to the same filters as
other comment queries, and just generally icky.

The new `include_unapproved` parameter for `WP_Comment_Query` accepts an array
of user IDs or email addresses. Pending comments associated with users in this
array will be included in query results, regardless of the value of the 'status'
parameter. In `comments_template()`, we leap from direct SQL queries to
`get_comments()` plus `include_unapproved', striving to put right what once
went wrong.

Props boonebgorges, simonwheatley, hardy101, jesin.
Fixes #19623.

git-svn-id: https://develop.svn.wordpress.org/trunk@29965 602fd350-edb4-49c9-b593-d223f7449a82
2014-10-19 19:38:16 +00:00
Boone Gorges
aee4647da0 Comment/post author in/not_in for WP_Comment_Query.
Props nofearinc, chriscct7.
Fixes #29885.

git-svn-id: https://develop.svn.wordpress.org/trunk@29935 602fd350-edb4-49c9-b593-d223f7449a82
2014-10-17 01:57:18 +00:00
Boone Gorges
dd9e9501c1 WP_Comment_Query: comment__in, comment__not_in, post__in, post__not_in.
Props nofearinc, mordauk, boonebgorges

Fixes #25386

git-svn-id: https://develop.svn.wordpress.org/trunk@29808 602fd350-edb4-49c9-b593-d223f7449a82
2014-10-02 01:40:56 +00:00
Mark Jaquith
7063377539 Use HTTPS URLs for core.trac.wordpress.org
see #27115

git-svn-id: https://develop.svn.wordpress.org/trunk@29788 602fd350-edb4-49c9-b593-d223f7449a82
2014-09-29 13:27:55 +00:00
Drew Jaynes (DrewAPicture)
198db28c17 Improve and clarify inline commenting inside the check_comment() function.
Adds logical explanations of what some of the various comment checks are checking for, as well as some general cleanup and syntax fixes.

Fixes #29734.


git-svn-id: https://develop.svn.wordpress.org/trunk@29763 602fd350-edb4-49c9-b593-d223f7449a82
2014-09-23 18:48:31 +00:00
Drew Jaynes (DrewAPicture)
0adb5f14aa Improve documentation in the check_comments() docblock.
* Removes two duplicate sentences from the long description
* Tightens up phrasing elsewhere in the long description for specific checks
* Clarifies the parameter and return descriptions, and adds periods

See #29734.


git-svn-id: https://develop.svn.wordpress.org/trunk@29762 602fd350-edb4-49c9-b593-d223f7449a82
2014-09-23 18:46:52 +00:00
Sergey Biryukov
947ca94071 Correct references to post-template.php in the inline docs.
props softmodeling.
fixes #29188.

git-svn-id: https://develop.svn.wordpress.org/trunk@29469 602fd350-edb4-49c9-b593-d223f7449a82
2014-08-12 01:08:19 +00:00
Dominik Schilling (ocean90)
ea34a0bdf7 Replace is_https_url() with 'https' === parse_url( $url, PHP_URL_SCHEME ).
see #28427, #28487.

git-svn-id: https://develop.svn.wordpress.org/trunk@29311 602fd350-edb4-49c9-b593-d223f7449a82
2014-07-27 17:45:34 +00:00
Drew Jaynes (DrewAPicture)
7ad77d58ee Add periods to short descriptions for magic methods added in [28501], [28521], and [28524].
See #22234 and #28885.


git-svn-id: https://develop.svn.wordpress.org/trunk@29165 602fd350-edb4-49c9-b593-d223f7449a82
2014-07-14 01:11:55 +00:00
Drew Jaynes (DrewAPicture)
94d5e7b388 Fill out inline documentation for the __call() magic method added to the WP_Comment_Query class in [28519].
See #22234 and #28885.


git-svn-id: https://develop.svn.wordpress.org/trunk@29162 602fd350-edb4-49c9-b593-d223f7449a82
2014-07-14 00:47:36 +00:00
Andrew Nacin
adbe839132 WP_Comment_Query: Add fields => 'ids' query var.
props mordauk.
fixes #28434.


git-svn-id: https://develop.svn.wordpress.org/trunk@29045 602fd350-edb4-49c9-b593-d223f7449a82
2014-07-09 18:15:42 +00:00
Sergey Biryukov
0b9fb4f148 Avoid a PHP notice in wp_new_comment() if user ID is not passed.
see #23231.

git-svn-id: https://develop.svn.wordpress.org/trunk@28922 602fd350-edb4-49c9-b593-d223f7449a82
2014-06-30 11:02:10 +00:00
Sergey Biryukov
7584b25252 Normalize 'user_id' and 'user_ID' values in wp_new_comment() before passing the comment data to 'preprocess_comment' filter.
props dkotter.
fixes #23231.

git-svn-id: https://develop.svn.wordpress.org/trunk@28915 602fd350-edb4-49c9-b593-d223f7449a82
2014-06-30 00:40:51 +00:00