Commit Graph

227 Commits

Author SHA1 Message Date
Andrew Nacin b94cfff6ad Create new $wp_roles object in install_blog() to avoid protected _init() call
Merges [30242] to the 4.0 branch.

Our call to `$wp_roles->_init()` relied on the `__call()` method in `WP_Roles` to handle the link to the protected method. This works back to PHP 5.2.9, when a bug was fixed allowing access to protected methods through this exact approach.

`install_blog()` needs a fresh `$wp_roles` object after `populate_roles()` resets everything in its path. We can create this new object from scratch, effectively doing the same thing with the call to `_init()` via the constructor.

props jeremyfelt.
fixes #29692.

Built from https://develop.svn.wordpress.org/branches/4.0@30255


git-svn-id: http://core.svn.wordpress.org/branches/4.0@30255 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-11-06 08:09:05 +00:00
Scott Taylor 0233933f22 `get_blog_details()->post_count` should update on more actions than just `publish_post`.
Adds unit test.

Props 5um17, midxcat, strangerstudios.
Fixes #27952.

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


git-svn-id: http://core.svn.wordpress.org/trunk@28639 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-06-26 00:53:15 +00:00
Scott Taylor fcd6920bb8 In `is_user_option_local()`, `$user_id` is set conditionally, but never used.
See #27882.

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


git-svn-id: http://core.svn.wordpress.org/trunk@28377 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-05-22 19:18:14 +00:00
Andrew Nacin 525b9145f8 Use correct column name. See [27152].
props barry.
fixes #25545.

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


git-svn-id: http://core.svn.wordpress.org/trunk@27668 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-29 03:39:14 +00:00
Andrew Nacin c3ca81ba94 Always decode special characters for email subjects.
props tlovett1, jeremyfelt.
fixes #25346.

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


git-svn-id: http://core.svn.wordpress.org/trunk@27636 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-28 02:44:15 +00:00
Andrew Nacin 5a873ec0c6 Ensure the $path is trailing-slashed in domain_exists().
props ejdanderson, ericmann.
fixes #18209.

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


git-svn-id: http://core.svn.wordpress.org/trunk@27556 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-25 17:32:16 +00:00
Scott Taylor f307aa1eb8 In `remove_user_from_blog()`, avoid a potentially expensive `IN` query before invalidating the reassigned post and link caches.
Props kovshenin.
Fixes #25545. (Again.)


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


git-svn-id: http://core.svn.wordpress.org/trunk@27027 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-02-11 16:28:13 +00:00
Scott Taylor c2adc15b45 Collect the post and link ids that will be reassigned before running the update in `remove_user_from_blog()`. Use `array_walk()` instead of `array_map()` when invalidating the caches for the collected ids.
Props kovshenin.
Fixes #25545.


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


git-svn-id: http://core.svn.wordpress.org/trunk@27019 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-02-09 21:47:12 +00:00
Scott Taylor 274d2925b9 Invalidate the post cache for posts associated with a user who has been removed from a blog in `remove_user_from_blog()`. Adds a unit test.
Props nprasath002 for the initial patch.
Fixes #25545.


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


git-svn-id: http://core.svn.wordpress.org/trunk@26959 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-02-04 04:13:12 +00:00
Drew Jaynes e2a921a6ed Inline documentation for hooks in wp-includes/ms-functions.php.
Props ShinichiN, ericlewis, rzen.
Fixes #25598.

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


git-svn-id: http://core.svn.wordpress.org/trunk@26430 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-12-02 20:45:10 +00:00
Mark Jaquith 22c6024f9e Remove unnecessarily gendered pronouns.
fixes #26225

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


git-svn-id: http://core.svn.wordpress.org/trunk@26269 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-11-25 02:05:10 +00:00
Scott Taylor da05f7435b For unit tests that call `wpmu_create_blog()`, Blog factory, or installation code that attempts to clear transients: suppress database errors on `setUp` and restore on `tearDown`.
There are a few places in core that were preventing this from working by explicity setting `$wpdb->suppress_errors` to `false`. Instead, they should inherit the value that existed before errors were suppressed.

This allows Multisite unit tests to run without explosive database errors, and allows `$wpdb->suppress_errors` to be overridden all the way down the chain.

Fixes #26102.

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


git-svn-id: http://core.svn.wordpress.org/trunk@26158 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-11-18 20:45:11 +00:00
Sergey Biryukov 74f77b85a6 Use get_current_site() instead of the $current_site global when possible.
props jeremyfelt.
fixes #25158.
Built from https://develop.svn.wordpress.org/trunk@26120


git-svn-id: http://core.svn.wordpress.org/trunk@26032 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-11-13 03:23:10 +00:00
Drew Jaynes 2d58250bea Improve inline documentation for the `wp_get_sites()` return value.
Fixes #25645.

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


git-svn-id: http://core.svn.wordpress.org/trunk@25862 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-10-24 22:58:32 +00:00
Andrew Nacin 8ae8e01b67 Remove the old wp_auto_updates_maybe_update cron event. Schedule the new wp_maybe_auto_update event at 7 a.m. and 7 p.m. in the site's timezone.
see #27704.

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


git-svn-id: http://core.svn.wordpress.org/trunk@25825 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-10-24 22:53:14 +00:00
Drew Jaynes 56f3f3de4e Improve inline documentation for the `wp_get_sites()` return value.
Fixes #25645.

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


git-svn-id: http://core.svn.wordpress.org/trunk@25774 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-10-22 05:48:09 +00:00
Andrew Nacin 0e959f06dc Live network counts of users and sites for small networks.
props adamsilverstein, jeremyfelt.
fixes #22917.

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


git-svn-id: http://core.svn.wordpress.org/trunk@25538 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-09-25 16:21:09 +00:00
Andrew Nacin 3db7b4a7a3 Revert [25446] now that `wp_blogs`.`archived` is no longer an ENUM field. see #14511.
Built from https://develop.svn.wordpress.org/trunk@25590


git-svn-id: http://core.svn.wordpress.org/trunk@25507 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-09-24 01:20:09 +00:00
Sergey Biryukov df34477308 Introduce 'offset' parameter for wp_get_sites().
props jamescollins.
see #14511.
Built from https://develop.svn.wordpress.org/trunk@25488


git-svn-id: http://core.svn.wordpress.org/trunk@25409 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-09-19 01:47:09 +00:00
Sergey Biryukov d87a375483 Use wp_parse_id_list() to parse the 'network_id' parameter in wp_get_sites().
props jamescollins.
see #14511.
Built from https://develop.svn.wordpress.org/trunk@25487


git-svn-id: http://core.svn.wordpress.org/trunk@25408 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-09-19 01:20:09 +00:00
Andrew Nacin 1f507db1c0 Proper treatment of the 'archived' field in wp_get_sites(). see #14511.
Built from https://develop.svn.wordpress.org/trunk@25446


git-svn-id: http://core.svn.wordpress.org/trunk@25367 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-09-14 23:10:10 +00:00
Andrew Nacin efdaf1e915 Introduce wp_get_sites(), a long-awaited replacement for get_blog_list().
props jeremyfelt.
see #14511.

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


git-svn-id: http://core.svn.wordpress.org/trunk@25366 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-09-14 21:13:10 +00:00
Scott Taylor 13d5ff7090 * Fill in undefined var in `Tests_Option_BlogOption`
* Add `defined()` check for `BLOGSUPLOADDIR`
* Suppress deprecated function notices for `is_blog_user()` and `get_dashboard_blog()`
* Check existence of `$user` in `wpmu_log_new_registrations()` before arbitrarily making a database query

Fixes all notices in multisite unit tests.

See #25282.


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


git-svn-id: http://core.svn.wordpress.org/trunk@25328 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-09-12 07:17:11 +00:00
Sergey Biryukov 1834e8c45e Update phpdoc for get_current_site(). props jeremyfelt. fixes #25040.
Built from https://develop.svn.wordpress.org/trunk@25229


git-svn-id: http://core.svn.wordpress.org/trunk@25199 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-09-04 08:26:08 +00:00
Sergey Biryukov 5f45d9b482 Use an array as a default value for $meta in multisite signup-related functions. fixes #25149.
Built from https://develop.svn.wordpress.org/trunk@25205


git-svn-id: http://core.svn.wordpress.org/trunk@25177 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-09-02 03:33:09 +00:00
Andrew Nacin 7a8981a38c Case insensitivity for is_email_address_unsafe().
props jkudish.
fixes #25046.

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


git-svn-id: http://core.svn.wordpress.org/trunk@25169 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-08-31 04:36:10 +00:00
Andrew Nacin 5a312f71f6 Revert [23307] so new users in multisite are not automatically subscribers on the main site.
props duck_.
fixes #25166 for trunk.
see #15627.

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


git-svn-id: http://core.svn.wordpress.org/trunk@25155 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-08-30 16:29:12 +00:00
Sergey Biryukov cbd1895437 Avoid a PHP notice in wpmu_create_blog() if $meta is not passed. props duck_, jeremyfelt, SergeyBiryukov. fixes #20793.
Built from https://develop.svn.wordpress.org/trunk@25127


git-svn-id: http://core.svn.wordpress.org/trunk@25107 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-08-26 18:57:10 +00:00
Sergey Biryukov fdef243bf6 Deprecate $network_id argument in get_blog_count(). props jeremyfelt. fixes #25129.
Built from https://develop.svn.wordpress.org/trunk@25113


git-svn-id: http://core.svn.wordpress.org/trunk@25094 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-08-24 02:42:10 +00:00
Andrew Nacin 527f73fbb7 Multisite: Add a filter to get_space_allowed() and increase its internal default value to the network default.
props jkudish for initial patch.
fixes #23650.


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


git-svn-id: http://core.svn.wordpress.org/trunk@25076 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-08-22 20:55:08 +00:00
Ryan Boren f2f939fed4 Pinking shears
Built from https://develop.svn.wordpress.org/trunk@25085


git-svn-id: http://core.svn.wordpress.org/trunk@25069 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-08-22 15:56:08 +00:00
Dominik Schilling 029e4cf3a6 Remove references to unused globals. props jeremyfelt. fixes #24984.
Built from https://develop.svn.wordpress.org/trunk@25018


git-svn-id: http://core.svn.wordpress.org/trunk@25009 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-08-15 03:13:05 +00:00
Ryan Boren 0e923a5c9d Deprecate get_dashboard_blog().
Remove contextual help for Dashboard Site from the network settings screen.

Props sillybean, ocean90
fixes #24838


git-svn-id: http://core.svn.wordpress.org/trunk@24993 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-08-06 16:07:46 +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 483f887c59 SMH.
git-svn-id: http://core.svn.wordpress.org/trunk@24155 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-05-01 18:39:56 +00:00
Andrew Nacin c39b14a486 Better logic for preg_match() calls in ms-functions.php. fixes #24222.
git-svn-id: http://core.svn.wordpress.org/trunk@24130 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-04-29 14:49:57 +00:00
Ryan Boren 0f304375f9 Fire the update_blog_public action from update_blog_status() instead of update_blog_public(). Pass blog ID and value to the action.
Add code to noindex() to sync the 'public' value in the site options table with the blog_public value in the options table.

fixes #23155


git-svn-id: http://core.svn.wordpress.org/trunk@23794 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-03-25 09:29:58 +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
Sergey Biryukov de4d2b5e7a Use correct variable. see [23592]. see #21767.
git-svn-id: http://core.svn.wordpress.org/trunk@23595 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-03-03 22:04:33 +00:00
Ryan Boren c08e7e0a12 In ms-functions.php, remove unnecessary slashing, don't strip the return of get_site_option, s/stripslashes*/wp_unslash/.
see #21767


git-svn-id: http://core.svn.wordpress.org/trunk@23592 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-03-03 16:55:53 +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
Andrew Nacin e3f7973355 Remove direct call to add_new_user_to_blog() as this is already hooked into wpmu_activate_user.
The second argument passed by that hook is not $email, so let's change that. It is not used.

props wonderboymusic.
fixes #15173.



git-svn-id: http://core.svn.wordpress.org/trunk@23535 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-02-28 20:28:36 +00:00
Andrew Nacin 8fe09a809c In insert_blog(), make sure we retrieve the insertion ID from wpdb before calling a function that could invoke queries. props feedmeastraycat. fixes #23400.
git-svn-id: http://core.svn.wordpress.org/trunk@23511 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-02-28 16:53:48 +00:00
Andrew Nacin 8252213fde Deprecate get_user_id_from_string() in favor of get_user_by( $field ) where $field is 'email' or 'login'. props SergeyBiryukov. fixes #23190.
git-svn-id: http://core.svn.wordpress.org/trunk@23438 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-02-16 03:02:15 +00:00
Sergey Biryukov 36d32c0504 Use wp_get_current_user(). props nacin. see #23192.
git-svn-id: http://core.svn.wordpress.org/trunk@23432 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-02-15 18:13:18 +00:00
Sergey Biryukov df725c13c0 Replace get_user_id_from_string() with get_user_by(). props ocean90, bananastalktome. fixes #23192. see #23190.
git-svn-id: http://core.svn.wordpress.org/trunk@23431 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-02-15 18:00:52 +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
Sergey Biryukov 08269aa6b0 Remove unused error string. props pavelevap. fixes #22107.
git-svn-id: http://core.svn.wordpress.org/trunk@23412 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-02-14 05:36:28 +00:00
Mark Jaquith 6b6ba31884 Properly wipe capabilities from new site-independent multisite users by using the right key.
props wonderboymusic. fixes #15627

git-svn-id: http://core.svn.wordpress.org/trunk@23307 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-01-18 15:30:55 +00:00
Andrew Nacin 72d8ca4770 Use $current_site->path instead of $base in wpmu_validate_blog_signup(), as $base is now dead. props MarkJaquith. fixes #22787. see #19796.
git-svn-id: http://core.svn.wordpress.org/trunk@23107 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-12-06 09:43:52 +00:00