Commit Graph

115 Commits

Author SHA1 Message Date
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 55ba72f46e Confirm a user exists before deleting them in wp_delete_user() and wpmu_delete_user(). props scribu, fixes #23067.
git-svn-id: http://core.svn.wordpress.org/trunk@23380 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-02-02 04:41:02 +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
Ryan Boren 3a5cf2395d When reassigning posts and links during user deletion, clear the post and link caches. Props kurtpayne. fixes #20447
git-svn-id: http://core.svn.wordpress.org/trunk@21798 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-09-10 19:56:08 +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
nacin 7127ed1197 Move most instances of new WP_User to get_userdata(). see #21120.
git-svn-id: http://core.svn.wordpress.org/trunk@21413 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-08-03 01:06:05 +00:00
ryan 7b49ad8493 Introduce get_edit_user_link(). Props scribu, georgestephanis, johnbillion. fixes #14787 see #20307
git-svn-id: http://core.svn.wordpress.org/trunk@21364 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-07-30 18:30:03 +00:00
markjaquith 168cc20a42 Allow tel: and fax: protocols. Wrangle the last hardcoded protocol enumeration so that it uses wp_allowed_protocols(). fixes #21081
git-svn-id: http://core.svn.wordpress.org/trunk@21170 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-06-28 20:30:10 +00:00
ryan f5366a2ccf Don't delete nav menu items when the user that owns them is deleted.
* Introduce delete_with_user flag to register_post_type
* Set delete_with_user to false for the nav_menu_item post type
* Set it to true for all other core post types
* If delete_with_user is not set, fallback to post_type_supports('author')

Props nacin
Fixes #16358


git-svn-id: http://core.svn.wordpress.org/trunk@20739 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-05-08 17:01:50 +00:00
ryan 646cb4e2ce * Return empty arrays instead of false for all conditions in get_blogs_of_user().
* When deleting a user, use a delete_metadata_by_mid() loop over the meta so that the meta cache is cleared.
* Use remove_user_from_blog() for DRYness.

Props nacin, duck_
Fixes #19500


git-svn-id: http://svn.automattic.com/wordpress/trunk@20581 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-04-24 22:13:47 +00:00
duck_ 53e6ba7959 clean_user_cache() after the DELETE query in wp_delete_user(). See #20460.
This is to prevent plugins managing to hook in between the cache cleaning and the actual deletion.


git-svn-id: http://svn.automattic.com/wordpress/trunk@20523 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-04-18 21:24:53 +00:00
duck_ e641c48a72 Pass full user objects to clean_user_cache(). See #19500, fixes #20460.
Prevents notices when clean_user_cache() is called for a user that has been removed from the database.


git-svn-id: http://svn.automattic.com/wordpress/trunk@20522 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-04-18 21:07:31 +00:00
nacin 0730535015 Introduce $wpdb->delete(). props justindgivens, scribu. fixes #18948.
git-svn-id: http://svn.automattic.com/wordpress/trunk@20287 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-03-24 15:24:31 +00:00
ryan e3b46b25d3 Lose EOF ?>. Clean up EOF newlines. fixes #12307
git-svn-id: http://svn.automattic.com/wordpress/trunk@19712 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-01-08 17:01:11 +00:00
duck_ 965a71033e Remove "the hackiest hack that ever did hack" from add_user(). wp_insert_user()/edit_user() can deal with adding new users of any defined role. Fixes #18749.
git-svn-id: http://svn.automattic.com/wordpress/trunk@19686 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-01-05 20:38:40 +00:00
nacin ccf47d55c4 Remove remnants of show_admin_bar_admin. see #18811, see #18197.
git-svn-id: http://svn.automattic.com/wordpress/trunk@18812 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2011-09-29 06:12:51 +00:00
duck_ c1d1590171 Fix typos in documentation (wp-admin/). See #18560.
git-svn-id: http://svn.automattic.com/wordpress/trunk@18632 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2011-09-03 14:18:10 +00:00
ryan 0f06334e11 Introduce metadata_exists(), WP_User::get_data_by(), WP_User::get(), WP_User::has_prop(). Don't fill user objects with meta. Eliminate data duplication in cache and memory. Props scribu. see #15458
git-svn-id: http://svn.automattic.com/wordpress/trunk@18597 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2011-08-24 19:32:59 +00:00
ryan 58e65d1855 Admin bar visibility prefs. Props duck_. see #15829
git-svn-id: http://svn.automattic.com/wordpress/trunk@17032 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2010-12-17 21:48:30 +00:00
ryan 3f72e340d6 Update since phpdoc. Props demetris. fixes #15445
git-svn-id: http://svn.automattic.com/wordpress/trunk@16660 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2010-12-01 19:24:38 +00:00
nacin 0902043f6d We don't want a populated WP_User object here. see #14642.
git-svn-id: http://svn.automattic.com/wordpress/trunk@16443 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2010-11-18 00:26:29 +00:00
nacin 478186859b Properly check, initialize, or cast a number of variables. props ChenHui. see #14642.
git-svn-id: http://svn.automattic.com/wordpress/trunk@16377 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2010-11-15 06:38:10 +00:00
nacin f5e23028ff Pass user object through _wp_get_user_contactmethods() to the user_contactmethods filter. props aaroncampbell, fixes #15186.
git-svn-id: http://svn.automattic.com/wordpress/trunk@15896 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2010-10-21 15:42:06 +00:00
ryan 2f022020a1 Fix notice when creating users. Props coffee2code. fixes #14286
git-svn-id: http://svn.automattic.com/wordpress/trunk@15799 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2010-10-13 20:26:43 +00:00
markjaquith df006b32e2 Fix an English fail.
git-svn-id: http://svn.automattic.com/wordpress/trunk@15740 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2010-10-07 08:04:15 +00:00
nacin 271aa55c16 Don't show the default password nag on the profile screen. props duck_, fixes #14861.
git-svn-id: http://svn.automattic.com/wordpress/trunk@15614 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2010-09-13 16:49:04 +00:00
scribu 253faa4bbe Deprecated get_editable_user_ids() altogether, along with similar, unused functions. See #14572
git-svn-id: http://svn.automattic.com/wordpress/trunk@15542 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2010-08-27 01:07:21 +00:00
scribu 18469c28ff Deprecate unused get_author_user_ids()and get_editable_authors(). See #14572
git-svn-id: http://svn.automattic.com/wordpress/trunk@15540 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2010-08-27 00:22:29 +00:00
scribu e7a6f6f967 use get_users() in get_editable_user_ids() and cache result. See #14572
git-svn-id: http://svn.automattic.com/wordpress/trunk@15539 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2010-08-27 00:18:57 +00:00
scribu 020ce73746 Ajaxify list-type screens in the admin. See #14579
git-svn-id: http://svn.automattic.com/wordpress/trunk@15491 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2010-08-11 21:54:51 +00:00
ryan 81e213c211 Use get_current_user() and get_current_user_id() instead of global . Props filofo. see #13934 for trunk
git-svn-id: http://svn.automattic.com/wordpress/trunk@15315 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2010-06-24 15:01:29 +00:00
westi 50b197cf94 Fix the default password nag clearer to work when an admin sets someone elses password away from the default. Fixes #12334.
git-svn-id: http://svn.automattic.com/wordpress/trunk@14608 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2010-05-13 21:08:01 +00:00
nacin 70f36f6c41 More typos. see #13358.
git-svn-id: http://svn.automattic.com/wordpress/trunk@14588 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2010-05-12 21:03:33 +00:00
nacin 7734a07cb2 Move post type object capabilities to a 'cap' object. Allow them to be initialized via the 'capabilities' key (an array) when registering support for the post type. Caps are now referred to by the name of the cap as if it was a post, i.e. ->cap->edit_post. see #13358.
git-svn-id: http://svn.automattic.com/wordpress/trunk@14585 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2010-05-12 20:45:18 +00:00
ryan 2ecda01ce0 Fix user validation feedback. Props sivel. fixes #13162
git-svn-id: http://svn.automattic.com/wordpress/trunk@14428 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2010-05-03 23:46:42 +00:00
ryan dda59949de User deletion fixes. Props yoavf. fixes #13242
git-svn-id: http://svn.automattic.com/wordpress/trunk@14422 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2010-05-03 23:04:42 +00:00
nacin e40572be40 Some default password nag and user-edit div.error style cleanups.
git-svn-id: http://svn.automattic.com/wordpress/trunk@14261 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2010-04-27 21:57:18 +00:00
nbachiyski a8f935789b Split the default password nag text to several translatable strings
git-svn-id: http://svn.automattic.com/wordpress/trunk@14170 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2010-04-20 17:15:07 +00:00
wpmuguru b90e44bbb9 use meta caps in [14032], see #12109
git-svn-id: http://svn.automattic.com/wordpress/trunk@14033 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2010-04-07 21:04:42 +00:00
ryan f609d0c8a3 User is_super_admin(). Props ocean90. fixes #12888
git-svn-id: http://svn.automattic.com/wordpress/trunk@14032 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2010-04-07 15:28:10 +00:00
nacin 927a8afbf3 Allow "No role for this blog" to be chosen on user-edit. Add defensive checks for a few potential notices. fixes #10833
git-svn-id: http://svn.automattic.com/wordpress/trunk@13961 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2010-04-03 08:08:12 +00:00
nacin 69f5922799 Use correct cap in get_editable_user_ids(). edit_cap is the meta cap (edit_post) and needs a post id passed, edit_type_cap is the primitive edit_posts cap.
git-svn-id: http://svn.automattic.com/wordpress/trunk@13955 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2010-04-03 04:38:20 +00:00
ryan 311b5a82cc Use wpdb->prefix instead of wpdb->base_prefix(). base_prefix() does not return the correct prefix when a blog ID is not passed.
git-svn-id: http://svn.automattic.com/wordpress/trunk@13947 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2010-04-02 17:23:36 +00:00
nacin 6a1844f98e Allow MS cape-wearers to demote their blog roles to something without the edit_users cap. see #12387
git-svn-id: http://svn.automattic.com/wordpress/trunk@13934 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2010-04-02 04:30:00 +00:00
nacin d0404ed946 Password nag string cleanup. Could be good to also increase the line-height on div.updated/error at some point.
git-svn-id: http://svn.automattic.com/wordpress/trunk@13844 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2010-03-27 07:22:05 +00:00
nacin a7feaed0e6 Change @since 3.0 to @since 3.0.0.
git-svn-id: http://svn.automattic.com/wordpress/trunk@13827 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2010-03-26 19:13:36 +00:00
dd32 4a59fbc765 Fix Author selection for non-post type posts. Props prettyboymp. Fixes #12408
git-svn-id: http://svn.automattic.com/wordpress/trunk@13488 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2010-02-28 06:38:15 +00:00
wpmuguru 1c5f2af719 warnings cleanup edit user, props dd32, see #12387
git-svn-id: http://svn.automattic.com/wordpress/trunk@13463 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2010-02-27 18:07:25 +00:00
ryan 9ab7306993 Remove author tags. fixes #12366
git-svn-id: http://svn.automattic.com/wordpress/trunk@13377 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2010-02-24 19:07:21 +00:00
dd32 679250491d Variable Cleanup, Unused variables, Typo'd variables, unused code blocks. Fixes #12299
git-svn-id: http://svn.automattic.com/wordpress/trunk@13242 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2010-02-20 02:01:46 +00:00