Commit Graph

190 Commits

Author SHA1 Message Date
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