Commit Graph

37 Commits

Author SHA1 Message Date
Andrew Nacin eae1d5641d Multisite: Add get_network_by_path() and wp_get_network() to begin cleanup of multisite load.
Tries to get network detection under control by simplifying wpmu_current_site(). It now also pops off each subdomain to find a more general match. Adds unit tests for get_network_by_path() and a new network factory for unit tests.

Much of this is likely to change in 3.9 as more of ms-load.php and ms-settings.php gets hacked to bits.

props jeremyfelt.
see #27003.

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


git-svn-id: http://core.svn.wordpress.org/trunk@27040 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-02-13 23:07:14 +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 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
nacin 81ed9a7563 Introduce wp_load_translations_early(), which can be used before the locale is properly loaded in order to translate early error strings. Internationalize setup-config.php -- translators no longer have a reason to modify this file. fixes #18180.
git-svn-id: http://svn.automattic.com/wordpress/trunk@19760 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-01-26 20:34:27 +00:00
nacin e3117daaa8 Remove old $base/BASE MU check. props mdawaffe, fixes #18479.
git-svn-id: http://svn.automattic.com/wordpress/trunk@18568 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2011-08-18 22:27:30 +00:00
PeteMall f4e8cf9bb6 Address redirection loop with multiple networks and network admin. Props mwidmann, fixes #15591
git-svn-id: http://svn.automattic.com/wordpress/trunk@16633 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2010-11-30 20:45:40 +00:00
ryan 7119110439 Unset global variables when they are no longer needed.
git-svn-id: http://svn.automattic.com/wordpress/trunk@15747 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2010-10-07 20:12:49 +00:00
nacin 1852eae49f Deprecate VHOST in favor of a boolean, SUBDOMAIN_INSTALL. Core will keep VHOST defined for plugins' sake, but you should only define SUBDOMAIN_INSTALL. Throws a notice if VHOST is defined, and a warning if they somehow conflict. Sunrise can still handle them. fixes #11796.
git-svn-id: http://svn.automattic.com/wordpress/trunk@14452 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2010-05-04 20:48:28 +00:00
nacin f9df8a36ae s/blog/site/ in more places. props PeteMall, see #11644.
git-svn-id: http://svn.automattic.com/wordpress/trunk@14313 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2010-04-30 01:54:32 +00:00
dd32 442d41291a Tweak new strings for better typography. Props demetris. Fixes #12962
git-svn-id: http://svn.automattic.com/wordpress/trunk@14070 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2010-04-11 10:41:54 +00:00
nacin c449adb237 File-level phpdoc for multisite files.
git-svn-id: http://svn.automattic.com/wordpress/trunk@13998 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2010-04-04 13:29:35 +00:00
nbachiyski 70b7755535 Wrap transtable strings used in Network install in WP_I18N_SOMETHING, because translations still aren't loaded. Fixes #12357
git-svn-id: http://svn.automattic.com/wordpress/trunk@13797 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2010-03-22 06:51:49 +00:00
markjaquith 58d47426cc More pedantry. "Setup" is not a verb. http://notaverb.com/setup
git-svn-id: http://svn.automattic.com/wordpress/trunk@13725 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2010-03-17 04:39:50 +00:00
nacin 5be468ea5f Allow localhost in a multisite subdirectory install. More network.php improvements. see #12457 for localhost. see #11816
git-svn-id: http://svn.automattic.com/wordpress/trunk@13622 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2010-03-09 06:14:42 +00:00
nacin f210aed76d Move $base sanity check to from MS config template to ms-settings. see #11816
git-svn-id: http://svn.automattic.com/wordpress/trunk@13610 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2010-03-06 19:36:35 +00:00
wpmuguru 097b18b559 remove __( calls from ms startup, see #11644
git-svn-id: http://svn.automattic.com/wordpress/trunk@13575 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2010-03-03 17:13:38 +00:00
wpmuguru 4dc6a43f96 always call set_blog_id after blog lookup, See #11644
git-svn-id: http://svn.automattic.com/wordpress/trunk@13421 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2010-02-26 00:05:11 +00:00
wpmuguru e50b8fa348 database code cleanup, See #12362
git-svn-id: http://svn.automattic.com/wordpress/trunk@13387 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2010-02-24 21:30:13 +00:00
wpmuguru c9df482e54 update wpdb blogid using setter, See #12362
git-svn-id: http://svn.automattic.com/wordpress/trunk@13386 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2010-02-24 21:07:23 +00:00
nacin 4451f3f64f Minor MS startup cleanups. See #11644
git-svn-id: http://svn.automattic.com/wordpress/trunk@13254 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2010-02-20 14:07:23 +00:00
nacin 20f50e7f06 Rename is_installed() to ms_not_installed(). See #12083
git-svn-id: http://svn.automattic.com/wordpress/trunk@13253 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2010-02-20 13:51:32 +00:00
ryan 98e8daa20a Add ability to query by domain and/or path to get_blog_details(). Improve blog details caching. Use get_blog_details() in ms-settings.php so queries are cached. see #11644
git-svn-id: http://svn.automattic.com/wordpress/trunk@13126 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2010-02-13 23:09:54 +00:00
westi b20c3c41d4 Improve the implementation of the default constant defining functions for multisite. See #11881.
git-svn-id: http://svn.automattic.com/wordpress/trunk@13065 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2010-02-12 08:22:34 +00:00
wpmuguru b01479de37 reorganize code on ms startup. props nacin, see #11644
git-svn-id: http://svn.automattic.com/wordpress/trunk@12921 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2010-02-01 20:26:08 +00:00
ryan 19c9d0bb79 Remove db error show/hide, suppress/unsuppress in ms bootstrap. see #11644
git-svn-id: http://svn.automattic.com/wordpress/trunk@12901 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2010-01-29 19:16:07 +00:00
ryan 1b9caf7846 ms-settings cleanup. Props nacin. see #11644
git-svn-id: http://svn.automattic.com/wordpress/trunk@12896 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2010-01-29 16:26:46 +00:00
ryan 394eba5eb1 Clean up cache re-init code in Multisite. Props nacin. fixes #12065
git-svn-id: http://svn.automattic.com/wordpress/trunk@12888 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2010-01-28 17:28:44 +00:00
wpmuguru 493a307cf7 rearrage multisite initialization, remove deprecated $wpmuBaseTablePrefix, props nacin, see #11881
git-svn-id: http://svn.automattic.com/wordpress/trunk@12885 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2010-01-28 16:09:52 +00:00
ryan cd57004569 Deprecate is_main_blog() for is_main_site(). see #11644
git-svn-id: http://svn.automattic.com/wordpress/trunk@12858 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2010-01-26 22:46:09 +00:00
wpmuguru 2f3f5b351f allow www installs to enable multisite, see #11945
git-svn-id: http://svn.automattic.com/wordpress/trunk@12787 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2010-01-21 17:20:23 +00:00
ryan a06a4c6b70 Formatting cleanups
git-svn-id: http://svn.automattic.com/wordpress/trunk@12760 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2010-01-19 17:01:39 +00:00
wpmuguru 4b8c87da92 Add is_subdomain_install() to ms code - Fixes #11796
git-svn-id: http://svn.automattic.com/wordpress/trunk@12674 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2010-01-08 21:25:01 +00:00
ryan adf017f6b9 Strip trailing whites from ms files. see #11644
git-svn-id: http://svn.automattic.com/wordpress/trunk@12632 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2010-01-07 04:27:46 +00:00
westi 53d810f260 Remove svn:executable property on new files. Fixes #11743 props Denis-de-Bernardy.
git-svn-id: http://svn.automattic.com/wordpress/trunk@12610 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2010-01-06 22:22:45 +00:00
ryan 8a42022e27 Fix deprecate spelling. Props filosofo. fixes #11758
git-svn-id: http://svn.automattic.com/wordpress/trunk@12606 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2010-01-06 20:05:44 +00:00
westi 336bec5923 Set svn-eolstyle on some files. See #11644.
git-svn-id: http://svn.automattic.com/wordpress/trunk@12605 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2010-01-06 07:50:12 +00:00
wpmuguru 2920185dfb Adding multi-site settings code
git-svn-id: http://svn.automattic.com/wordpress/trunk@12602 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2010-01-05 20:59:48 +00:00