Commit Graph

281 Commits

Author SHA1 Message Date
whyisjake 348c871b83 User: Invalidate `user_activation_key` on password update.
Query: Ensure that only a single post can be returned on date/time based queries.
Cache API: Ensure proper escaping around the stats method in the cache API.
Formatting: Expand `sanitize_file_name` to have better support for utf8 characters.

Brings the changes in [47634], [47635], [47637], and [47638] to the 3.9 branch.

Props: batmoo, ehti, nickdaugherty, peterwilsoncc, sergeybiryukov, sstoqnov, westi, whyisjake, whyisjake, xknown.

Built from https://develop.svn.wordpress.org/branches/3.9@47660


git-svn-id: http://core.svn.wordpress.org/branches/3.9@47437 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-04-29 16:56:12 +00:00
Andrew Nacin e8ea407eb6 Invalidate password keys when a user's email changes.
Merges [30430] to the 3.9 branch.

Built from https://develop.svn.wordpress.org/branches/3.9@30432


git-svn-id: http://core.svn.wordpress.org/branches/3.9@30427 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-11-20 13:42:16 +00:00
Andrew Nacin 91971b28a7 User Query: Don't blindly re-append new meta queries for capabilities.
fixes #21119.

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


git-svn-id: http://core.svn.wordpress.org/trunk@27918 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-04-12 19:04:15 +00:00
Drew Jaynes 5c3c97ead6 PHPDoc fixes for `wp_validate_logged_in_cookie()`, introduced in 3.9.
See #27700.

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


git-svn-id: http://core.svn.wordpress.org/trunk@27845 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-04-07 21:43:15 +00:00
Andrew Nacin acba3131d7 Allow for custom authentication handlers for all requests.
Turn the logic used by wp_get_current_user() into a determine_current_user filter.

props rmccue.
fixes #26706.

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


git-svn-id: http://core.svn.wordpress.org/trunk@27328 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-09 15:23:15 +00:00
Sergey Biryukov 4da1691fd5 Additional clarification for wp_authenticate_cookie() parameters.
fixes #26148.
Built from https://develop.svn.wordpress.org/trunk@27354


git-svn-id: http://core.svn.wordpress.org/trunk@27205 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-02 19:51:14 +00:00
Drew Jaynes 266aa6d9d2 Inline documentation improvements for wp-includes/user.php.
Props morganestes, SergeyBiryukov.
Fixes #26148.

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


git-svn-id: http://core.svn.wordpress.org/trunk@27204 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-02 19:40:14 +00:00
Sergey Biryukov 2e288a108c Remove redundant add_filter() call. see [24848]. fixes #27255.
Built from https://develop.svn.wordpress.org/trunk@27351


git-svn-id: http://core.svn.wordpress.org/trunk@27202 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-02 18:21:14 +00:00
Sergey Biryukov 45ac85f67f Default value for $credentials parameter in wp_signon() should be an array, not a string.
props tivnet.
fixes #27130.
Built from https://develop.svn.wordpress.org/trunk@27350


git-svn-id: http://core.svn.wordpress.org/trunk@27201 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-02 18:05:14 +00:00
Sergey Biryukov ab8847316c Correct return values for update_metadata() and related functions.
fixes #21864.
Built from https://develop.svn.wordpress.org/trunk@27191


git-svn-id: http://core.svn.wordpress.org/trunk@27050 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-02-18 21:36:14 +00:00
Scott Taylor 55b4eee4c2 Make `WP_User_Query::prepare_query()` public by allowing it to be passed an array of args. Previously, if the `WP_User_Query` constructor was not passed args, the object was basically unusable. Adds unit tests, all other tests pass.
Props scribu, for the initial patch.
Fixes #21119.


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


git-svn-id: http://core.svn.wordpress.org/trunk@27045 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-02-17 21:41:12 +00:00
Sergey Biryukov 9145c85fc7 Correct 'found_users_query' filter description. see #25533.
Built from https://develop.svn.wordpress.org/trunk@26904


git-svn-id: http://core.svn.wordpress.org/trunk@26787 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-01-04 18:50:11 +00:00
Drew Jaynes e73caae160 Inline documentation for hooks in wp-includes/user.php.
Props stephenharris, kpdesign.
Fixes #25533.

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


git-svn-id: http://core.svn.wordpress.org/trunk@26784 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-01-04 06:18:10 +00:00
Drew Jaynes ee8aa9ee4c Inline documentation for hooks in wp-admin/user-new.php & wp-admin/user-edit.php.
Also fixes one parameter type in wp-includes/user.php.

Fixes #25726.

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


git-svn-id: http://core.svn.wordpress.org/trunk@26387 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-12-01 01:35:10 +00:00
Sergey Biryukov 8d659b278c Fix docblock formatting. fixes #25893.
Built from https://develop.svn.wordpress.org/trunk@26081


git-svn-id: http://core.svn.wordpress.org/trunk@26001 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-11-11 13:32:10 +00:00
Sergey Biryukov 0888c85811 Correct $user_id parameter description. props mauryaratan, Corphi. fixes #25774.
Built from https://develop.svn.wordpress.org/trunk@25997


git-svn-id: http://core.svn.wordpress.org/trunk@25930 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-10-30 20:18:10 +00:00
Andrew Nacin d0cfa40983 Add jshintrc to qunit.
props jorbin.
see #25187.

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


git-svn-id: http://core.svn.wordpress.org/trunk@25925 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-10-30 14:39:10 +00:00
Andrew Nacin 823ad1ae6e Have get_current_user_id() return 0 when pluggable.php is not yet included (which brings the ability to set or get the current user).
fixes #25690 for trunk.

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


git-svn-id: http://core.svn.wordpress.org/trunk@25888 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-10-26 03:20:09 +00:00
Andrew Nacin 6113669e22 Hash password reset keys in the database.
All existing, unused password reset keys are now considered "expired" and the user will be told they should try again.

Introduces a password_reset_key_expired filter to allow plugins to introduce a grace period.

fixes #24783.

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


git-svn-id: http://core.svn.wordpress.org/trunk@25611 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-10-06 11:29:11 +00:00
Andrew Nacin 0e620877fd Use the wpdb method instead of $wpdb->prefix.
props hakre.
fixes #16756.

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


git-svn-id: http://core.svn.wordpress.org/trunk@25532 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-09-24 23:41:10 +00:00
Andrew Nacin 00c545606e Introduce wp_get_user_contact_methods() as a public version of _wp_get_user_contactmethods.
props johnnyb.
fixes #24273.

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


git-svn-id: http://core.svn.wordpress.org/trunk@25523 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-09-24 18:14:09 +00:00
Scott Taylor 6744355f70 * Add `isset()` checks all over `WP_User_Query::prepare_query()` and `WP_User_Query::query()`. When a `WP_User_Query` instance is constructed without passing args, no query vars are filled in, thus `$qv` doesn't contain most of the expected indices.
* Suppress an undefined index notice in `tests/user/query.php`

Fixes #25292.
See #25282.


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


git-svn-id: http://core.svn.wordpress.org/trunk@25326 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-09-12 06:25:09 +00:00
Scott Taylor dbec80b469 Support `orderby => meta_value` in `WP_User_Query`. Adds unit test.
Props wpsmith.
Fixes #21581.


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


git-svn-id: http://core.svn.wordpress.org/trunk@25293 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-09-10 23:10:09 +00:00
Sergey Biryukov 1d79b0bdf3 Move check_password_reset_key(), reset_password(), and register_new_user() from wp-login.php to wp-includes/user.php, to make them reusable. props beaulebens for initial patch. fixes #20279.
Built from https://develop.svn.wordpress.org/trunk@25231


git-svn-id: http://core.svn.wordpress.org/trunk@25201 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-09-04 08:59:09 +00:00
Andrew Nacin 34ce599935 Don't override an existing WP_Error object in wp_authenticate_username_password().
props willnorris.
fixes #19714.



git-svn-id: http://core.svn.wordpress.org/trunk@24850 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-07-29 03:43:22 +00:00
Andrew Nacin 5c20d1eca1 Remove "special" multisite spam check in the authentication API.
The spamming of a site no longer directly affects a user of said site.

Moves the spam check to the wp_authenticate filter. Networks in need
of enhanced spam-fighting should leverage this same technique.

Allow is_user_spammy() to accept a WP_User object.

props willnorris, brianhogg.
fixes #24771. see #19714.



git-svn-id: http://core.svn.wordpress.org/trunk@24848 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-07-29 03:23:51 +00:00
Andrew Nacin de7375b5d1 Avoid a sanitize_key() call on ID, as this causes it to be lowercased. wp_dropdown_users() requires user_login as a fallback; specify it for get_users(). see #21767.
git-svn-id: http://core.svn.wordpress.org/trunk@24719 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-07-17 04:46:09 +00:00
Andrew Nacin 4fd4d4452f Use sanitize_key() instead of esc_sql() when 'escaping' variable DB field names. see #21767.
git-svn-id: http://core.svn.wordpress.org/trunk@24714 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-07-16 14:21:05 +00:00
Sergey Biryukov 58c364947f PHPDoc fixes and additions. fixes #24616.
git-svn-id: http://core.svn.wordpress.org/trunk@24490 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-06-21 12:45:11 +00:00
Andrew Nacin 97ce5922db Remove docs suggesting that wp_update_user() creates a user if no ID is provided. See #16731, that is incorrect at this time.
git-svn-id: http://core.svn.wordpress.org/trunk@24345 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-05-24 16:22:22 +00:00
Mark Jaquith 082e067a2d Screen option for Post Format UI.
props nacin. see #23930.

git-svn-id: http://core.svn.wordpress.org/trunk@24092 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-04-25 07:28:33 +00:00
Andrew Nacin 8131644bf6 Add user_search_columns filter to WP_User_Query::prepare_query().
props aaroncampbell.
fixes #16366.



git-svn-id: http://core.svn.wordpress.org/trunk@24056 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-04-22 20:37:50 +00:00
Sergey Biryukov f86b1502a0 Fix fatal error in WP_User_Query when searching users by URL. Move wp_is_large_network() to wp-includes. fixes #23683 for trunk.
git-svn-id: http://core.svn.wordpress.org/trunk@23664 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-03-12 09:19:55 +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
Andrew Nacin 3579814b3e Remove the three default contact methods (AIM, YIM, Jabber) for new installs. fixes #11541.
git-svn-id: http://core.svn.wordpress.org/trunk@23588 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-03-03 03:00:34 +00:00
Sergey Biryukov 3a86ceb816 Use distinct error code in wp_authenticate_username_password() when user is a spammer. props sirzooro. fixes #19445.
git-svn-id: http://core.svn.wordpress.org/trunk@23579 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-03-01 18:01:16 +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
Ryan Boren cc5ed3a485 Change all core API to expect unslashed rather than slashed arguments.
The exceptions to this are update_post_meta() and add_post_meta() which are often used by plugins in POST handlers and will continue accepting slashed data for now.

Introduce wp_upate_post_meta() and wp_add_post_meta() as unslashed alternatives to update_post_meta() and add_post_meta(). These functions could become methods in WP_Post so don't use them too heavily yet.

Remove all escape() calls from wp_xmlrpc_server. Now that core expects unslashed data this is no longer needed.

Remove addslashes(), addslashes_gpc(), add_magic_quotes() calls on data being prepared for handoff to core functions that until now expected slashed data. Adding slashes in no longer necessary.

Introduce wp_unslash() and use to it remove slashes from GPCS data before using it in core API. Almost every instance of stripslashes() in core should now be wp_unslash(). In the future (a release or three) when GPCS is no longer slashed, wp_unslash() will stop stripping slashes and simply return what is passed. At this point wp_unslash() calls can be removed from core.

Introduce wp_slash() for slashing GPCS data. This will also turn into a noop once GPCS is no longer slashed. wp_slash() should almost never be used. It is mainly of use in unit tests.

Plugins should use wp_unslash() on data being passed to core API.

Plugins should no longer slash data being passed to core. So when you get_post() and then wp_insert_post() the post data from get_post() no longer needs addslashes(). Most plugins were not bothering with this. They will magically start doing the right thing. Unfortunately, those few souls who did it properly will now have to avoid calling addslashes() for 3.6 and newer.

Use wp_kses_post() and wp_kses_data(), which expect unslashed data, instead of wp_filter_post_kses() and wp_filter_kses(), which expect slashed data. Filters are no longer passed slashed data.

Remove many no longer necessary calls to $wpdb->escape() and esc_sql().

In wp_get_referer() and wp_get_original_referer(), return unslashed data.

Remove old stripslashes() calls from WP_Widget::update() handlers. These haven't been necessary since WP_Widget.

Switch several queries over to prepare().

Expect something to break.

Props alexkingorg
see #21767


git-svn-id: http://core.svn.wordpress.org/trunk@23416 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-02-14 22:51:06 +00:00
Andrew Nacin 7c5a0db7c1 Return WP_Error from wp_update_user() on a non-existent user, avoiding a fatal error in the process.
props n7studios, SergeyBiryukov.
fixes #22858 for trunk.
Unit tests: [11776/tests].



git-svn-id: http://core.svn.wordpress.org/trunk@23210 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-12-27 15:36:08 +00:00
Andrew Nacin c04587d409 Add a $public_only argument to count_many_users_posts() and get_posts_by_author_sql(). Defaults to false, and allows the counts to be returned for only public posts. props ryan, westi. fixes #21431.
git-svn-id: http://core.svn.wordpress.org/trunk@22386 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-11-05 23:11:25 +00:00
Ryan Boren f9ddde8da6 Return WP_User objects when querying 'all' fields with WP_User_Query.
Allow passing stdClass or WP_User to the WP_User constructor.

fixes #22057


git-svn-id: http://core.svn.wordpress.org/trunk@22248 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-10-16 20:05:40 +00:00
Ryan Boren 51920e1858 Consolidate some strings. Props pavelevap, SergeyBiryukov. see #21728
git-svn-id: http://core.svn.wordpress.org/trunk@22124 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-10-05 19:04:34 +00:00
Andrew Nacin 0ada88ef52 Add get() and set() methods to WP_User_Query for modifying query variables the way you might with WP_Query. props wonderboymusic. fixes #21426.
git-svn-id: http://core.svn.wordpress.org/trunk@21995 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-09-25 05:01:59 +00:00
Andrew Nacin 1f9ce958f7 Deprecate user_pass_ok() in favor of wp_authenticate(). see #21907.
git-svn-id: http://core.svn.wordpress.org/trunk@21911 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-09-19 01:35:35 +00:00
Andrew Nacin 57ad8da7d0 On user creation, default the display name to the first and last names provided. props mikelittle for the initial patch. fixes #20637.
git-svn-id: http://core.svn.wordpress.org/trunk@21876 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-09-16 22:33:24 +00:00
Ryan Boren 88d549cbe4 Set the archived, spam, and deleted properties in the objects returned from get_blogs_of_user(). Props wonderboymusic. fixes #16225
git-svn-id: http://core.svn.wordpress.org/trunk@21794 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-09-10 17:50:13 +00:00
Ryan Boren 38c261bc37 Update phpdoc for count_many_users_posts(). Props willmot. fixes #21640
git-svn-id: http://core.svn.wordpress.org/trunk@21747 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-09-04 21:07:27 +00:00
Ryan Boren 5f8ae64dd6 Add @since for _wp_get_user_contactmethods() and _get_additional_user_keys(). Props SergeyBiryukov. fixes #21246
git-svn-id: http://core.svn.wordpress.org/trunk@21522 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-08-15 15:33:59 +00:00
Ryan Boren 17f544b798 Update wp_update_user() phpdoc to reflect a possible return of WP_Error. Props SergeyBiryukov. fixes #21439
git-svn-id: http://core.svn.wordpress.org/trunk@21509 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-08-14 19:29:40 +00:00
Ryan Boren cbd6a8becd Allow passing stdClass and WP_User to wp_insert_user() and wp_update_user(). Introduce WP_User::to_array(). Eliminate uses of get_object_vars() when passing to wp_*_user(). fixes #21429
git-svn-id: http://core.svn.wordpress.org/trunk@21496 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-08-10 15:36:54 +00:00