summaryrefslogtreecommitdiffstats
path: root/wpmu-settings.php
diff options
context:
space:
mode:
authordonncha <donncha@7be80a69-a1ef-0310-a953-fb0f7c49ff36>2006-07-03 16:23:41 +0000
committerdonncha <donncha@7be80a69-a1ef-0310-a953-fb0f7c49ff36>2006-07-03 16:23:41 +0000
commit93c57b21fdeb2966949e513a98c449d7122bb4fc (patch)
tree8c7055c28ee0edcbd3ad9e5a9efd21fd00bc5571 /wpmu-settings.php
parent2f6cd0a86384d00ba266394ad1e1c7f9259e1f05 (diff)
downloadwordpress-mu-93c57b21fdeb2966949e513a98c449d7122bb4fc.tar.gz
wordpress-mu-93c57b21fdeb2966949e513a98c449d7122bb4fc.tar.xz
wordpress-mu-93c57b21fdeb2966949e513a98c449d7122bb4fc.zip
For subdir installs, check if the request is for a page of the main blog.
git-svn-id: http://svn.automattic.com/wordpress-mu/trunk@630 7be80a69-a1ef-0310-a953-fb0f7c49ff36
Diffstat (limited to 'wpmu-settings.php')
-rw-r--r--wpmu-settings.php14
1 files changed, 13 insertions, 1 deletions
diff --git a/wpmu-settings.php b/wpmu-settings.php
index 7504b9c..c5f58c6 100644
--- a/wpmu-settings.php
+++ b/wpmu-settings.php
@@ -65,7 +65,7 @@ if( constant( 'VHOST' ) == 'yes' ) {
if( strpos( $blogname, '?' ) )
$blogname = substr( $blogname, 0, strpos( $blogname, '?' ) );
$blognames = array( 'blog', 'wp-admin', 'wp-includes', 'wp-content', 'files', 'feed' );
- if( $blogname == '' || in_array( $blogname, $blognames ) || is_file( $blogname ) ) {
+ if( $blogname == '' || in_array( $blogname, $blognames ) || is_file( $blogname ) || is_blogname_page( $blogname ) ) {
$current_blog = $wpdb->get_row("SELECT * FROM $wpdb->blogs WHERE domain = '$domain' AND path = '$path'");
} else {
$current_blog = $wpdb->get_row("SELECT * FROM $wpdb->blogs WHERE domain = '$domain' AND path = '{$path}{$blogname}/'");
@@ -81,6 +81,18 @@ if( defined( "WP_INSTALLING" ) == false ) {
is_installed();
}
+function is_blogname_page( $blogname ) {
+ global $wpdb, $table_prefix;
+
+ // is the request for a page of the main blog? We need to cache this information somewhere to save a request
+ $pages = $wpdb->get_col( "SELECT post_name FROM {$table_prefix}1_posts WHERE post_type='page'" );
+ if( in_array( $blogname, $pages ) ) {
+ return true;
+ } else {
+ return false;
+ }
+}
+
$blog_id = $current_blog->blog_id;
$public = $current_blog->public;
$site_id = $current_blog->site_id;