get_row( $wpdb->prepare("SELECT * FROM $wpdb->site WHERE domain = %s AND path = %s", $domain, $path) ); if( $current_site != null ) return $current_site; $current_site = $wpdb->get_row( $wpdb->prepare("SELECT * FROM $wpdb->site WHERE domain = %s AND path='/'", $domain) ); if( $current_site != null ) { $path = '/'; return $current_site; } $sitedomain = substr( $domain, 1 + strpos( $domain, '.' ) ); $current_site = $wpdb->get_row( $wpdb->prepare("SELECT * FROM $wpdb->site WHERE domain = %s AND path = %s", $sitedomain, $path) ); if( $current_site != null ) return $current_site; $current_site = $wpdb->get_row( $wpdb->prepare("SELECT * FROM $wpdb->site WHERE domain = %s AND path='/'", $sitedomain) ); if( $current_site == null && defined( "WP_INSTALLING" ) == false ) { if( count( $sites ) == 1 ) { $current_site = $sites[0]; die( "Ce blog n'existe pas. Merci d'essayer http://{$current_site->domain}{$current_site->path}" ); } else { die( "Aucun site WPmu défini sur ce serveur. Si vous êtes le propriétaire de ce site, merci de consulter la page Debugging WPMU pour obtenir de l'assistance." ); } } else { $path = '/'; } } else { $current_site = $wpdb->get_row( $wpdb->prepare("SELECT * FROM $wpdb->site WHERE domain = %s AND path = %s", $domain, $path) ); if( $current_site != null ) return $current_site; $current_site = $wpdb->get_row( $wpdb->prepare("SELECT * FROM $wpdb->site WHERE domain = %s AND path='/'", $domain) ); if( $current_site == null && defined( "WP_INSTALLING" ) == false ) { if( count( $sites ) == 1 ) { $current_site = $sites[0]; die( "Ce blog n'existe pas. Merci d'essayer http://{$current_site->domain}{$current_site->path}" ); } else { die( "Aucun site WPmu défini sur ce serveur. Si vous êtes le propriétaire de ce site, merci de consulter la page Debugging WPMU pour obtenir de l'assistance." ); } } else { $path = '/'; } } return $current_site; } $wpdb->suppress_errors(); $sites = $wpdb->get_results( "SELECT * FROM $wpdb->site" ); // usually only one site if( count( $sites ) == 1 ) { $current_site = $sites[0]; $path = $current_site->path; } else { $current_site = wpmu_current_site(); } if( constant( 'VHOST' ) == 'yes' ) { $current_blog = $wpdb->get_row("SELECT * FROM $wpdb->blogs WHERE domain = '$domain'"); if( $current_blog != null ) { $current_site = $wpdb->get_row( $wpdb->prepare("SELECT * FROM $wpdb->site WHERE id = %d", $current_blog->site_id) ); } else { $blogname = substr( $domain, 0, strpos( $domain, '.' ) ); } } else { $blogname = htmlspecialchars( substr( $_SERVER[ 'REQUEST_URI' ], strlen( $path ) ) ); if( strpos( $blogname, '/' ) ) $blogname = substr( $blogname, 0, strpos( $blogname, '/' ) ); if( strpos( " ".$blogname, '?' ) ) $blogname = substr( $blogname, 0, strpos( $blogname, '?' ) ); $blognames = array( 'page', 'comments', 'blog', 'wp-admin', 'wp-includes', 'wp-content', 'files', 'feed' ); if( $blogname == '' || in_array( $blogname, $blognames ) || is_file( $blogname ) || is_blogname_page( $blogname ) ) { $current_blog = $wpdb->get_row( $wpdb->prepare("SELECT * FROM $wpdb->blogs WHERE domain = %s AND path = %s", $domain, $path) ); } else { $current_blog = $wpdb->get_row( $wpdb->prepare("SELECT * FROM $wpdb->blogs WHERE domain = %s AND path = %s", $domain, $path.$blogname.'/') ); } } if( defined( "WP_INSTALLING" ) == false ) { if( $current_site && $current_blog == null ) { $current_blog = $wpdb->get_row( $wpdb->prepare("SELECT * FROM $wpdb->blogs WHERE domain = %s AND path = %s", $current_site->domain, $current_site->path) ); } if( $current_blog == false || $current_site == false ) is_installed(); } function is_blogname_page( $blogname ) { global $wpdb, $table_prefix, $domain, $path; $blog_id = $wpdb->get_var( $wpdb->prepare("SELECT blog_id FROM $wpdb->blogs WHERE domain = %s AND path = %s", $domain, $path) ); // 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 LOWER(post_name) FROM {$table_prefix}{$blog_id}_posts WHERE post_type='page'" ); if( is_array( $pages ) == false ) return false; if( in_array( strtolower( $blogname ), $pages ) ) { return true; } else { return false; } } if( $current_blog->site_id == 0 || $current_blog->site_id == '' ) $current_blog->site_id = 1; $blog_id = $current_blog->blog_id; $public = $current_blog->public; $site_id = $current_blog->site_id; $current_site->site_name = $wpdb->get_var( $wpdb->prepare("SELECT meta_value FROM $wpdb->sitemeta WHERE site_id = %d AND meta_key = 'site_name'", $site_id) ); if( $current_site->site_name == null ) $current_site->site_name = ucfirst( $current_site->domain ); if( $blog_id == false ) { // no blog found, are we installing? Check if the table exists. if ( defined('WP_INSTALLING') ) { $blog_id = $wpdb->get_var( "SELECT blog_id FROM $wpdb->blogs LIMIT 0,1" ); if( $blog_id == false ) { // table doesn't exist. This is the first blog $blog_id = 1; } else { // table exists // don't create record at this stage. we're obviously installing so it doesn't matter what the table vars below are like. // default to using the "main" blog. $blog_id = 1; } $current_blog->blog_id = $blog_id; } else { $check = $wpdb->get_results( "SELECT * FROM $wpdb->site" ); if( $check == false ) { $msg = ': Tables de la base de données manquantes.'; } else { $msg = ''; } die( "Aucun blog de ce nom existe sur ce système." . $msg ); } } $wpdb->suppress_errors( false ); if( '0' == $current_blog->public ) { // This just means the blog shouldn't show up in google, etc. Only to registered members } function is_installed() { global $wpdb, $domain, $path; $base = stripslashes( $base ); if( defined( "WP_INSTALLING" ) == false ) { $check = $wpdb->get_results( "SELECT * FROM $wpdb->site" ); $msg = "Si votre blog ne s'affiche pas, merci de contacter le propriétaire de ce site.

Si vous êtes le propriétaire de ce site, merci de vérifier votre installation de MySQL et que vos tables ne comportent pas d'erreurs.

"; if( $check == false ) { $msg .= "Tables de la base de données manquantes.
Des tables de la base de données sont manquantes. Votre installation MySQL ne fonctionne peut être pas, WPMU est mal installé, ou quelqu'un a effacé {$wpdb->site}. Vous devriez vraiment jetter un coup d'oeil sur votre base de données dès maintenant.
"; } else { $msg .= 'Impossible de trouver ce blog!
'; $msg .= "Recherche de " . $domain . $path . " dans la table " . DB_NAME . "::" . $wpdb->blogs . ". C'est vrai ?
"; } $msg .= "
\n

Que faire maintenant ?

"; $msg .= "Lire la page bug report. Elle propose un certain nombre de conseils pour situer et résoudre vos erreurs.
"; $msg .= "Si vous obtenez toujours ce message, merci de vérifier que votre base de données contient les tables suivantes:"; $msg .= "Si vous suspectez un problème, merci de le rapportez sur les forums de support et n'oubliez pas d'y inclure les informations demandés sur la page WPMU bug reporting!

"; if( is_file( 'release-info.txt' ) ) { $msg .= 'Votre rapport de bug doit contenir le texte suivant: "'; $info = file( 'release-info.txt' ); $msg .= $info[ 4 ] . '"'; } die( "

Erreur fatale

" . $msg ); } } ?>