Commit Graph

149 Commits

Author SHA1 Message Date
Jeremy Felt
5d478fbe5e Multisite: Introduce get_network().
Given a network ID or network object, `get_network()` retrieves network data in the same vein as `get_site()` or `get_post()`. This will allow for clean retrieval of networks from a primed cache when `WP_Network_Query` is implemented.

Props flixos90.
See #32504.

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


git-svn-id: http://core.svn.wordpress.org/trunk@37834 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-06-28 21:18:30 +00:00
Jeremy Felt
9edd8df844 Multisite: Clear incomplete objects from cache in get_blog_details() when found.
In [37657], the `blog_id` and `site_id` properties were changed to private. Any `WP_Site` objects previously stored in cache with public properties should now be considered invalid. We can detect this by checking for these missing properties and clearing the dirty cache if found.

Props flixos90.
Fixes #36717.

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


git-svn-id: http://core.svn.wordpress.org/trunk@37815 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-06-26 14:29:28 +00:00
Drew Jaynes
6bb600fe25 Docs: Update the documentation for get_site() and the get_site filter following the removal of the $output parameter in [37652].
Props flixos90.
See #35791.

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


git-svn-id: http://core.svn.wordpress.org/trunk@37665 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-06-14 18:14:27 +00:00
Jeremy Felt
75a851a3aa Multisite: Remove the output parameter from get_site()
Full `WP_Site` objects should be expected from `get_site()` rather than arrays.

In the single (soon to be deprecated) use of arrays for this in core, we can cast the result to `(array)` for back-compat.

See #35791.

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


git-svn-id: http://core.svn.wordpress.org/trunk@37618 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-06-08 02:48:30 +00:00
Jeremy Felt
a6de56b473 Multisite: Bump last_changed cache on site update and creation
When a site is added, updated, or deleted, the `site_ids` cache for a query will no longer be reliable. Bumping `last_changed` will force a new query for site IDs.

See #35791.

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


git-svn-id: http://core.svn.wordpress.org/trunk@37586 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-06-02 00:59:27 +00:00
Jeremy Felt
8dd52fb458 Multisite: Introduce get_sites()
`get_sites()` is a wrapper for `WP_Site_Query`.

Props spacedmonkey, DrewAPicture.
See #35791.

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


git-svn-id: http://core.svn.wordpress.org/trunk@37584 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-06-01 23:21:27 +00:00
Boone Gorges
1f2635d52b Make the 'comment' cache group persistent.
'comment' was made non-persistent in [7986], to address the difficulty of
reliable cache invalidation. Since then, the comment system has improved such
that we can be more confident that caches are being busted as needed.

Props spacedmonkey.
Fixes #36906.
Built from https://develop.svn.wordpress.org/trunk@37613


git-svn-id: http://core.svn.wordpress.org/trunk@37581 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-06-01 21:26:27 +00:00
Drew Jaynes
9cb5247392 Docs: Standardize filter docs in remaining wp-includes/* files to use third-person singular verbs per the inline documentation standards for PHP.
See #36913.

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


git-svn-id: http://core.svn.wordpress.org/trunk@37486 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-05-22 18:50:28 +00:00
Jeremy Felt
2dd1e72f10 Multisite: Introduce WP_Site_Query
Provides a consistent way to query `$wpdb->blogs` for `WP_Site` objects based on domain, path, site ID, network ID, and more.

Introduces and uses `update_site_cache()` and `_prime_site_caches()` to maintain a cached list of `WP_Site` objects for use in multiple queries.

Props spacedmonkey, flixos90, DrewAPicture, jeremyfelt, ocean90.
See #35791.

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


git-svn-id: http://core.svn.wordpress.org/trunk@37445 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-05-20 22:04:27 +00:00
Jeremy Felt
9fa38fdc31 Multisite: Introduce get_site()
Given a site ID or site object, `get_site()` retrieves site data in the same vein as `get_post()` or `get_comment()`. This will allow for clean retrieval of sites from a primed cache when `WP_Site_Query` is implemented.

Adds a `WP_Site::to_array()` method to support multiple return types within `get_site()`.

Props spacedmonkey.
See #35791.

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


git-svn-id: http://core.svn.wordpress.org/trunk@37436 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-05-20 04:41:27 +00:00
Jeremy Felt
8d5c62b923 Multisite: Fire a clean_site_cache action when a site's cache is cleared
Props spacedmonkey.
Fixes #36203.

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


git-svn-id: http://core.svn.wordpress.org/trunk@37170 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-04-14 04:19:27 +00:00
Jeremy Felt
ba65ad94f2 Docs: Update param/return types for WP_Site in ms-blogs.php
* `get_blog_details()` now returns a `WP_Site` object.
* `clean_blog_cache()` is now called with a `WP_Site` object.

See #32450.

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


git-svn-id: http://core.svn.wordpress.org/trunk@36861 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-03-09 07:42:26 +00:00
Eric Lewis
22467e840f Networks and sites: Replace "blog" usage with "site" in docs.
Multisite functions use the term "blog" to refer to what we now call a "site," e.g. `get_current_blog_id()`. These functions are here to stay because of our commitment to backwards compatibility. What we can do is set the documentation straight.

See #35417.

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


git-svn-id: http://core.svn.wordpress.org/trunk@36383 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-01-28 03:35:27 +00:00
Dominik Schilling
e8cc1b5a32 Multisite: Add the global cache group sites to restore_current_blog() and wp_start_object_cache().
See #32450.
Built from https://develop.svn.wordpress.org/trunk@36413


git-svn-id: http://core.svn.wordpress.org/trunk@36380 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-01-27 13:51:26 +00:00
Dominik Schilling
87b5e06838 Multisite: Add the global cache group networks to restore_current_blog().
Missed in [36258].

See #35251.
Built from https://develop.svn.wordpress.org/trunk@36411


git-svn-id: http://core.svn.wordpress.org/trunk@36378 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-01-27 13:43:28 +00:00
Jeremy Felt
0b69f2cd63 Multisite: Introduce the WP_Site class.
* A `WP_Site` object initially matches a row from `wp_blogs`.
* A site can be retrieved by its ID through `WP_Site::get_instance()`.
* Adds `sites` to the global cache group and captures instance lookups.
* The multisite bootstrap now ensures `$current_blog` is an instance of `WP_Site`.

Props johnjamesjacoby, jeremyfelt.
See #32450.

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


git-svn-id: http://core.svn.wordpress.org/trunk@36360 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-01-25 21:51:26 +00:00
Dion Hulse
abbcc01542 Multisite: The networks group should be global.
Fixes #35251.

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


git-svn-id: http://core.svn.wordpress.org/trunk@36225 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-01-11 05:04:26 +00:00
John Blackbourn
a5d44337b2 Docs: @param fixes for a variety of docblocks.
See #32246

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


git-svn-id: http://core.svn.wordpress.org/trunk@36199 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-01-09 01:45:26 +00:00
John Blackbourn
8cbd79e3dc Ensure that the scheme used in the URL returned by get_blogaddress_by_id() always reflects the blog's URL, instead of using http.
Props thomaswm
Fixes #14867

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


git-svn-id: http://core.svn.wordpress.org/trunk@35410 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-30 02:02:24 +00:00
Drew Jaynes
217b661703 Docs: Add missing descriptions for the $wpdb global in DocBlocks all the places.
See #32246.

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


git-svn-id: http://core.svn.wordpress.org/trunk@35136 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-14 23:44:25 +00:00
Scott Taylor
4d26d999ce Fix doc blocks for ms-*.php files.
A few functions can return a conditional instead of an `if`/`else` of `true`/`false`.

See #32444.

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


git-svn-id: http://core.svn.wordpress.org/trunk@32581 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-05-26 21:51:31 +00:00
Andrew Nacin
fd70baf919 Remove leading space from the definition of a global cache group.
This only applied in a rare situation during the switch_to_blog() process where no global groups were currently defined.

see #31243.

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


git-svn-id: http://core.svn.wordpress.org/trunk@31329 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-06 03:26:22 +00:00
Andrew Nacin
116d1d354e Add useremail and userslugs as global cache groups. fixes #31243.
Built from https://develop.svn.wordpress.org/trunk@31347


git-svn-id: http://core.svn.wordpress.org/trunk@31328 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-06 03:24:23 +00:00
Jeremy Felt
8d55b418ec Don't overcheck the expected return from get_blog_details() in get_blogaddress_by_id()
If `get_blog_details()` is returning something that is not our expected object or `false`, then a notice would already be thrown there.

Also adds proper return docs to `get_blog_details()`.

Props SergeyBiryukov.

Fixes #30566

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


git-svn-id: http://core.svn.wordpress.org/trunk@31159 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-01-14 05:33:25 +00:00
Jeremy Felt
8f35b191db Use a less complex approach for enforcing path slashes in update_blog_details()
Ensure leading and traling slashes are in place and don't touch anything in the middle. Validating with `array_filter()` would have missed a possible valid falsy path - `/my-path/0/`.

Props nacin.

Fixes #18117.

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


git-svn-id: http://core.svn.wordpress.org/trunk@31139 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-01-12 04:21:22 +00:00
Jeremy Felt
343a6587cf Check for existence of data from get_blogaddress_by_id() before returning a URL
* Prevent a notice when an invalid ID is used with `get_blogaddres_by_id()`.
* Return a falsy empty string rather than the previous "http://".
* Add unit tests for `get_blogaddress_by_id()`.

Props nerrad.

Fixes #30566.

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


git-svn-id: http://core.svn.wordpress.org/trunk@31138 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-01-12 02:24:22 +00:00
Jeremy Felt
eaf7f8df74 Enforce leading and trailing slashes on paths updated with update_blog_details()
In multisite, core expects the stored value for a site's path to have leading and trailing slashes. When these slashes are missing, it becomes impossible to visit the site.

This enforces proper `/path/` creation in `update_blog_details()`, most likely used when updating an existing site through `site-info.php`.

Props earnjam, simonwheatley.

Fixes #18117. Fixes #23865.

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


git-svn-id: http://core.svn.wordpress.org/trunk@31136 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-01-12 01:43:22 +00:00
Drew Jaynes
bffe95d34c 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.

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


git-svn-id: http://core.svn.wordpress.org/trunk@30646 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-11-30 12:10:23 +00:00
Sergey Biryukov
2d1cc72d7f Simplify the code for calling refresh_blog_details() whenever 'blogname', 'siteurl', or 'post_count' option is updated.
props pento, nacin.
fixes #26410.
Built from https://develop.svn.wordpress.org/trunk@29668


git-svn-id: http://core.svn.wordpress.org/trunk@29442 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-09-02 07:30:16 +00:00
Sergey Biryukov
8cc6ad5066 Check $post->post_status directly in _update_posts_count_on_delete() for better performance.
props pento.
fixes #27952.
Built from https://develop.svn.wordpress.org/trunk@29667


git-svn-id: http://core.svn.wordpress.org/trunk@29441 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-09-02 07:17:17 +00:00
Sergey Biryukov
0ae76229ec Use 3-digit x.x.x style for two 4.0.0 @since versions.
see #28885.
Built from https://develop.svn.wordpress.org/trunk@29319


git-svn-id: http://core.svn.wordpress.org/trunk@29100 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-07-29 00:59:16 +00:00
Sergey Biryukov
9c1d22a454 Avoid PHP notices in _count_posts_cache_key(), _update_blog_date_on_post_publish(), and _update_blog_date_on_post_delete() if post type is not registered.
props jesin.
fixes #28135.
Built from https://develop.svn.wordpress.org/trunk@29318


git-svn-id: http://core.svn.wordpress.org/trunk@29099 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-07-29 00:51:17 +00:00
Drew Jaynes
c5a59037f1 Inline documentation cleanup for 4.0 audit.
Various improvements:
* Adds `@see` reference for `wp_list_comments()` in 'wp_list_comments_args' filter docs, added in [28285]
* Various phpDoc tweaks for the 'run_wptexturize' filter docs, added in [28715]
* Sentence and wrapping changes for `is_https_url()`, added in [28894]
* Documents the `$args` parameter for `wp_dropdown_languages()`, added in [29007]
* Adds a period to the parameter description for `_update_posts_count_on_delete()`, added in [28835]
* Documents a global in `is_customize_preview()`, added in [28999]
* phpDoc tweaks, adds an access modifier for `wpdb::esc_like()`, added in [28711]

See #28885.

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


git-svn-id: http://core.svn.wordpress.org/trunk@28947 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-07-14 01:02:15 +00:00
Scott Taylor
2e81419d4c In multisite, on the updated_option action, if the option name is one of: 'blogname', 'siteurl', 'post_count' - refresh the blog details cache for the current blog id.
Adds unit test.

Props kovshenin.
Fixes #26410.

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


git-svn-id: http://core.svn.wordpress.org/trunk@28680 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-06-28 04:07:16 +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
Drew Jaynes
ac1701b7cc Fix the return description for switch_to_blog() to reflect that it always returns true.
Props jeremyfelt.
Fixes #25328.

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


git-svn-id: http://core.svn.wordpress.org/trunk@27199 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-02 04:41:15 +00:00
Drew Jaynes
9e05dcc39b Inline documentation for hooks in wp-includes/ms-blogs.php.
Props miyauchi, kpdesign.
Fixes #25596.

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


git-svn-id: http://core.svn.wordpress.org/trunk@26396 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-12-01 17:32:10 +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
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
Sergey Biryukov
14308c0d41 Deprecate get_blogaddress_by_domain(), unused since [25261]. props jeremyfelt. fixes #25235.
Built from https://develop.svn.wordpress.org/trunk@25276


git-svn-id: http://core.svn.wordpress.org/trunk@25241 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-09-06 11:41:09 +00:00
Andrew Nacin
7554176da0 Return esc_url_raw(), not esc_url(), from get_blogaddress_by_domain(). props tlovett1, fixes #25057. #wcpvd
Built from https://develop.svn.wordpress.org/trunk@25033


git-svn-id: http://core.svn.wordpress.org/trunk@25020 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-08-16 19:42:09 +00:00
Sergey Biryukov
0d8d513a8d Fix typo in phpdoc. props belloswan. fixes #24217.
git-svn-id: http://core.svn.wordpress.org/trunk@24124 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-04-29 12:49:33 +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
Ryan Boren
57b2fc1c04 In refresh_blog_details(), make sure clean_blog_cache() gets the blog ID when the blog has been previously cached as non-existent. This ensures that -1 values in blog-details are cleared after blogs are created.
Props beezeee, hirozed
fixes #23405


git-svn-id: http://core.svn.wordpress.org/trunk@23752 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-03-19 05:05:19 +00:00
Peter Westwood
ffe2292a8f Multisite: Ensure that get_blogaddress_by_name does not mangle blognames with leading digits.
Correctly specify the backreference in the regular expression so that it can not become ambiguous when there is a leading digit on the blogname.

Fixes #23689 props dllh.


git-svn-id: http://core.svn.wordpress.org/trunk@23686 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-03-13 16:00:38 +00:00
Sergey Biryukov
69bd474ac6 Remove unused global reference. props aaroncampbell. fixes #23541.
git-svn-id: http://core.svn.wordpress.org/trunk@23458 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-02-20 00:18:15 +00:00
Helen Hou-Sandí
b1f1579604 its <=> it's in documentation, along with a rogue the, The, and looses. props trepmal. fixes #22665.
git-svn-id: http://core.svn.wordpress.org/trunk@23191 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-12-20 15:55:32 +00:00
Ryan Boren
06ee370814 Pinking shears
git-svn-id: http://core.svn.wordpress.org/trunk@22634 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-11-17 15:11:29 +00:00
Ryan Boren
05c40b9926 Sync actions between update_blog_details() and update_blog_status(). Add make_delete_blog and make_undelete_blog actions.
Props Kyrylo, wonderboymusic
fixes #20305


git-svn-id: http://core.svn.wordpress.org/trunk@22185 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-10-11 12:37:46 +00:00
Ryan Boren
7a86de87fb Reduce use of global. Use get_blog_details() instead. fixes #22090
git-svn-id: http://core.svn.wordpress.org/trunk@22108 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-10-04 12:40:09 +00:00
Ryan Boren
9fc9d42d0a * Register blog-id-cache group as global
* Introduce clean_blog_cache() so we can run it independently of refresh_blog_details() which assumes the blog still exists and get_blog_details() can be called.
* Don't db escape cache keys in get_blog_id_from_url()
* prepare() the query in get_blog_id_from_url()
* Return 0 for all failures in get_blog_id_from_url()
* clean_blog_cache() after dropping tables in wpmu_delete_blog() to make sure the cache is for real cleaned.



git-svn-id: http://core.svn.wordpress.org/trunk@22092 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-10-01 18:03:23 +00:00
Ryan Boren
75e64cface Reinit roles and the current user after switching the cache to the new blog in switch_to_blog() and restore_current_blog(). Props joostdekeijzer. fixes #21459
git-svn-id: http://core.svn.wordpress.org/trunk@22087 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-10-01 14:25:31 +00:00
Ryan Boren
7915172568 Don't read from the switched global. Instead use _wp_switched_stack. switched is retained for back compat and should not be directly read since it is prone to stompage by plugins. see #21459
git-svn-id: http://core.svn.wordpress.org/trunk@22015 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-09-26 17:02:44 +00:00
Ryan Boren
c57b0f836f * Invalidate the get_id_from_blogname_* cache in refresh_blog_details()
* Change $name to $slug in get_id_from_blogname() for some semblance of clarity.
* Strip leading and trailing slashes from the slug in get_id_from_blogname() so get_blog_details()->path can be passed directly.

Props wonderboymusic
see #20950


git-svn-id: http://core.svn.wordpress.org/trunk@21979 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-09-24 19:31:37 +00:00
Ryan Boren
1c44b15e63 Restore blog_option_* filter. see #21459
git-svn-id: http://core.svn.wordpress.org/trunk@21595 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-08-23 16:04:39 +00:00
Ryan Boren
f11317881a Resurrect the switched global. Some are still using it. see #21459
git-svn-id: http://core.svn.wordpress.org/trunk@21581 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-08-22 03:34:00 +00:00
Ryan Boren
9cf4306b6d s/is_ms_switched/ms_is_switched/ see #21459
git-svn-id: http://core.svn.wordpress.org/trunk@21561 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-08-20 20:56:34 +00:00
Ryan Boren
21782ca444 Introduce is_ms_switched(). see #21459
git-svn-id: http://core.svn.wordpress.org/trunk@21560 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-08-20 20:48:35 +00:00
Ryan Boren
411714ad68 Fix phpdoc for switch_to_blog() and restore_current_blog(). Props SergeyBiryukov. fixes #21459
git-svn-id: http://core.svn.wordpress.org/trunk@21523 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-08-15 15:56:14 +00:00
ryan
d286875515 switch_to_blog() and restore_current_blog() housekeeping.
wp-includes/admin-bar.php:

* Replace get_admin_url() and get_home_url() with admin_url() and home_url() and place them inside a switch/restore. Likewise replace current_user_can_for_blog() with current_user_can(). This avoids doing multiple switch restores.

wp-includes/ms-blogs.php:

* Deprecate the $validate argument to switch_to_blog(). This avoids a not very necessary call to get_blog_details(), possibly saving a few queries.
* Use $_wp_switched and $_wp_switched_stack instead of $switched and $switched_stack to make it less likely these globals will be stomped.
* Use GLOBALS to access blog_id and other globals. I've preferred this style lately since it makes it obvious a global is being used and avoids global blog_id being stomped by a local variable.
* Lose some is_object() checks. wp_get_current_user() always returns an object, for example.
* Call the new WP_Roles::reinit() method.

wp-includes/class-wp-xmlrpc-server.php:

* Replace current_user_can_for_blog() with current_user_can() and move it inside the switch/restore pair. This eliminates a switch/restore.

wp-includes/capabilities.php:

* Use array_keys() instead of $role => $data since $data is unused. I *think* this is a bit faster.
* Introduce WP_Roles::reinit(). This reinitializes WP_Roles and is used after switch_to_blog() has already update the blog ID in the wpdb object. If a global roles array is being used instead of the db, reinit is skipped.
* current_user_can_for_blog() now does a switch/restore. It didn't before meaning it could be reinitializing the user with the wrong role information for the current blog.

wp-includes/ms-settings.php:

* Define $_wp_switched_stack and $_wp_switched. This way switch_to_blog() and restore_current_blog() can rely on it being set.

wp-settings.php:

* Instantiate the WP_Roles global. This was it is always defined during init. To remove the WP_Roles checks from WP_Role and WP_User this would probably have to move before plugins are loaded, which might not be a good thing.

wp-includes/functions.php:

* Update wp_upload_dir() to reference _wp_switched.



git-svn-id: http://core.svn.wordpress.org/trunk@21485 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-08-09 16:28:15 +00:00
ryan
87dc511c0f Undeprecate *_blog_option() by popular demand. Put them back in ms-blogs.php since direct inclusion of ms-blogs.php/ms-functions.php is unforntunately common.
see #21432


git-svn-id: http://core.svn.wordpress.org/trunk@21480 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-08-08 17:11:15 +00:00
ryan
5ca54e7d2f Deprecate get_blog_option(), add_blog_option(), update_blog_option(), and delete_blog_option().
Use the regular option functions wrapped in switch_to_blog() and restore_current_blog() instead.

Group multiple operations within a single switch where possible.

fixes #21432


git-svn-id: http://core.svn.wordpress.org/trunk@21414 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-08-03 17:51:42 +00:00
ryan
295ca4d76f Introduce wp_cache_switch_to_blog() and WP_Object_Cache::switch_to_blog() as a lighter/faster way to switch the cache to a new blog id.
Add the blog id to the cache keys for multisite installs.

Use wp_cache_switch_to_blog() instead of wp_cache_init() in switch_to_blog().

Use wp_cache_switch_to_blog() instead of wp_cache_reset() in wp_start_object_cache().

Deprecate wp_cache_reset().

This avoids the many queries needed to re-prime the cache after switch_to_blog() on multisite installs using the default cache backend.

fixes #21434



git-svn-id: http://core.svn.wordpress.org/trunk@21403 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-08-02 18:31:14 +00:00
ryan
af18fc1ae2 Use Yoda conditions. Props evansolomon. see #21270
git-svn-id: http://core.svn.wordpress.org/trunk@21378 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-07-31 21:11:17 +00:00
ryan
e75d8f7d9e Refactor *_blog_option() functions to use switch_to_blog(), restore_current_blog(), and the *_option() functions. Do not use site-options for blog option caching as this duplicated info and did not properly invalidate.
Props jeremyfelt
fixes #21270


git-svn-id: http://core.svn.wordpress.org/trunk@21357 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-07-27 14:57:32 +00:00
ryan
f86bf75b34 Don't update a blog's last_updated time for all post deletions. Update only when published posts are deleted.
Props SergeyBiryukov
fixes #20433


git-svn-id: http://svn.automattic.com/wordpress/trunk@20461 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-04-13 17:30:37 +00:00
ryan
3975e5e0d2 Add refresh_blog_details action. Props mdawaffe. fixes #19987
git-svn-id: http://svn.automattic.com/wordpress/trunk@19889 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-02-09 19:53:53 +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
ryan
eb835e1901 Update the blog date whenever a pubic post type is published or changed after being published. fixes #18624
git-svn-id: http://svn.automattic.com/wordpress/trunk@19129 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2011-11-03 17:06:45 +00:00
nacin
feb2ba5831 Allow get_blog_option(null,...) to hit the cache for the current blog. New return values for add_blog_option, update_blog_option, delete_blog_option. Don't set the cache in those functions if add/update/delete_option failed. see #17883.
git-svn-id: http://svn.automattic.com/wordpress/trunk@18662 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2011-09-11 18:53:09 +00:00
ryan
c7e870877c Use update_blog_details() in wpmu_update_blogs_date(). Props jakub.tyrcha. fixes #18122
git-svn-id: http://svn.automattic.com/wordpress/trunk@18601 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2011-08-25 18:01:49 +00:00
nacin
d96d3a74b8 Single quotes and spaces in ms-blogs.php. props niallkennedy, fixes #17522.
git-svn-id: http://svn.automattic.com/wordpress/trunk@17988 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2011-05-22 22:19:36 +00:00
ryan
4e7270ab6a Revert [16987]. This pollutes home and siteurl during signup and blog creation. see #14867
git-svn-id: http://svn.automattic.com/wordpress/trunk@17005 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2010-12-16 19:48:00 +00:00
nacin
0b1b0f86ab Add scheme arguments to get_blogaddress_by_domain and get_blogaddress_by_id. props adambackstrom for initial patch, fixes #14867.
git-svn-id: http://svn.automattic.com/wordpress/trunk@16987 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2010-12-16 07:58:57 +00:00
nacin
844636bf1c Don't show extra .0 in _deprecated_argument calls. They should appear in @since docs though.
git-svn-id: http://svn.automattic.com/wordpress/trunk@16938 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2010-12-15 11:27:38 +00:00
ryan
3949ce12d0 Pink trailing whites.
git-svn-id: http://svn.automattic.com/wordpress/trunk@16900 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2010-12-13 21:21:50 +00:00
ryan
071c5dff0d Remove stripslashes(). No longer needed. Props RogerTheriault. fixes #12560
git-svn-id: http://svn.automattic.com/wordpress/trunk@16808 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2010-12-08 19:25:18 +00:00
ryan
0eeb985ef2 Deprecate and ignore the refresh arg. fixes #15605
git-svn-id: http://svn.automattic.com/wordpress/trunk@16673 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2010-12-01 22:12:09 +00:00
ryan
6dc6d9892f Revert [16359]. Deal with it in 3.2. see #15361
git-svn-id: http://svn.automattic.com/wordpress/trunk@16597 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2010-11-26 21:38:38 +00:00
nacin
b8ce0261df More param fixes, props duck_. see #14783.
git-svn-id: http://svn.automattic.com/wordpress/trunk@16469 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2010-11-18 19:12:48 +00:00
scribu
5f0adf4d70 Use wp_start_object_cache() in switch_to_blog(). Props prettyboymp. Fixes #15361
git-svn-id: http://svn.automattic.com/wordpress/trunk@16359 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2010-11-13 23:11:50 +00:00
nacin
5e1184aa57 Pinking shears.
git-svn-id: http://svn.automattic.com/wordpress/trunk@15843 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2010-10-19 07:48:22 +00:00
ryan
72a9626c15 Allow flagging of a blog as mature via a URL. Move some actions into update_blog_status(). Props Viper007Bond. fixes #14385
git-svn-id: http://svn.automattic.com/wordpress/trunk@15836 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2010-10-18 18:53:47 +00:00
nacin
b7bacd1bf2 s/Wether/Whether/
git-svn-id: http://svn.automattic.com/wordpress/trunk@15756 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2010-10-08 02:35:06 +00:00
scribu
a4167676ea Add inline documentation for ms-blogs.php. See #14953
git-svn-id: http://svn.automattic.com/wordpress/trunk@15676 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2010-10-01 01:32:31 +00:00
ryan
5f30d3e9a0 Add user_meta to global groups. see #14475
git-svn-id: http://svn.automattic.com/wordpress/trunk@15482 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2010-07-30 21:30:06 +00:00
ryan
9a032e6eef Fix inverted logic in [15331]. see #13934
git-svn-id: http://svn.automattic.com/wordpress/trunk@15332 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2010-06-25 16:17:33 +00:00
ryan
6c31f32be1 Don't perform current user ops in switch_to_blog() or restore_current_blog() if init hasn't fired. Avoids wp_get_current_user() not defined error when those functions are run before init. Ops on current user prior to init are meaningless anyway. see #13934
git-svn-id: http://svn.automattic.com/wordpress/trunk@15331 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2010-06-25 16:16:06 +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
ryan
76036b069b Deprecate get_most_active_blogs() and get_blog_list(). Props ocean90. fixes #13773
git-svn-id: http://svn.automattic.com/wordpress/trunk@15168 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2010-06-08 13:00:09 +00:00
wpmuguru
9fb13d2cba use network_home_url in get_blogaddress_by_name, see #12735
git-svn-id: http://svn.automattic.com/wordpress/trunk@14703 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2010-05-16 22:21:06 +00:00
wpmuguru
6ed0c429d1 fix warning in r14342, see #13104
git-svn-id: http://svn.automattic.com/wordpress/trunk@14351 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2010-05-02 23:33:02 +00:00
wpmuguru
e2f361cea4 use correct var in r14342, see #13104
git-svn-id: http://svn.automattic.com/wordpress/trunk@14343 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2010-05-02 21:40:31 +00:00
wpmuguru
709ed743e5 strip www from subdomains in blog lookup, see #13104
git-svn-id: http://svn.automattic.com/wordpress/trunk@14342 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2010-05-02 21:34:11 +00:00
ryan
5a76e8be5d Cache fixes for get_blog_details()
git-svn-id: http://svn.automattic.com/wordpress/trunk@14076 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2010-04-13 12:43:40 +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
wpmuguru
21f661bdf0 warnings cleanup, dont show removed user in edit site, fixes #12409
git-svn-id: http://svn.automattic.com/wordpress/trunk@13460 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2010-02-27 17:27:34 +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
nacin
dfe271c71b Rename wp-includes/blogs.php to ms-blogs.php. See #11644
git-svn-id: http://svn.automattic.com/wordpress/trunk@13159 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2010-02-15 01:08:23 +00:00