]> scripts.mit.edu Git - autoinstalls/wordpress.git/blobdiff - wp-includes/ms-load.php
Wordpress 3.1.1
[autoinstalls/wordpress.git] / wp-includes / ms-load.php
index bcb075cdab877364a35bc736b64573c27b3fbb26..353cbe2fee5a1877f04bfa6a69babb31e6effc78 100644 (file)
@@ -25,6 +25,36 @@ function is_subdomain_install() {
        return false;
 }
 
+/**
+ * Returns array of network plugin files to be included in global scope.
+ *
+ * The default directory is wp-content/plugins. To change the default directory
+ * manually, define <code>WP_PLUGIN_DIR</code> and <code>WP_PLUGIN_URL</code>
+ * in wp-config.php.
+ *
+ * @access private
+ * @since 3.1.0
+ * @return array Files to include
+ */
+function wp_get_active_network_plugins() {
+       $active_plugins = (array) get_site_option( 'active_sitewide_plugins', array() );
+       if ( empty( $active_plugins ) )
+               return array();
+
+       $plugins = array();
+       $active_plugins = array_keys( $active_plugins );
+       sort( $active_plugins );
+
+       foreach ( $active_plugins as $plugin ) {
+               if ( ! validate_file( $plugin ) // $plugin must validate as file
+                       && '.php' == substr( $plugin, -4 ) // $plugin must end with '.php'
+                       && file_exists( WP_PLUGIN_DIR . '/' . $plugin ) // $plugin must exist
+                       )
+               $plugins[] = WP_PLUGIN_DIR . '/' . $plugin;
+       }
+       return $plugins;
+}
+
 /**
  * Checks status of current blog.
  *
@@ -51,28 +81,24 @@ function ms_site_check() {
                return true;
 
        if ( '1' == $current_blog->deleted ) {
-               if ( file_exists( WP_CONTENT_DIR . '/blog-deleted.php' ) ) {
+               if ( file_exists( WP_CONTENT_DIR . '/blog-deleted.php' ) )
                        return WP_CONTENT_DIR . '/blog-deleted.php';
-               } else {
-                       header( 'HTTP/1.1 410 Gone' );
-                       wp_die( /*WP_I18N_USER_DELETED_BLOG*/'This user has elected to delete their account and the content is no longer available.'/*/WP_I18N_USER_DELETED_BLOG*/ );
-               }
+               else
+                       wp_die( __( 'This user has elected to delete their account and the content is no longer available.' ), '', array( 'response' => 410 ) );
        }
 
        if ( '2' == $current_blog->deleted ) {
                if ( file_exists( WP_CONTENT_DIR . '/blog-inactive.php' ) )
                        return WP_CONTENT_DIR . '/blog-inactive.php';
                else
-                       wp_die( sprintf( /*WP_I18N_BLOG_NOT_ACTIVATED*/'This site has not been activated yet. If you are having problems activating your site, please contact <a href="mailto:%1$s">%1$s</a>.'/*/WP_I18N_BLOG_NOT_ACTIVATED*/, str_replace( '@', ' AT ', get_site_option( 'admin_email', "support@{$current_site->domain}" ) ) ) );
+                       wp_die( sprintf( __( 'This site has not been activated yet. If you are having problems activating your site, please contact <a href="mailto:%1$s">%1$s</a>.' ), str_replace( '@', ' AT ', get_site_option( 'admin_email', "support@{$current_site->domain}" ) ) ) );
        }
 
        if ( $current_blog->archived == '1' || $current_blog->spam == '1' ) {
-               if ( file_exists( WP_CONTENT_DIR . '/blog-suspended.php' ) ) {
+               if ( file_exists( WP_CONTENT_DIR . '/blog-suspended.php' ) )
                        return WP_CONTENT_DIR . '/blog-suspended.php';
-               } else {
-                       header( 'HTTP/1.1 410 Gone' );
-                       wp_die( /*WP_I18N_ARCHIVED*/'This site has been archived or suspended.'/*/WP_I18N_ARCHIVED*/ );
-               }
+               else
+                       wp_die( __( 'This site has been archived or suspended.' ), '', array( 'response' => 410 ) );
        }
 
        return true;
@@ -87,16 +113,15 @@ function ms_site_check() {
  */
 function get_current_site_name( $current_site ) {
        global $wpdb;
-       $current_site->site_name = wp_cache_get( $current_site->id . ':current_site_name', 'site-options' );
+
+       $current_site->site_name = wp_cache_get( $current_site->id . ':site_name', 'site-options' );
        if ( ! $current_site->site_name ) {
-               $current_site->site_name = wp_cache_get( $current_site->id . ':site_name', 'site-options' );
-               if ( ! $current_site->site_name ) {
-                       $current_site->site_name = $wpdb->get_var( $wpdb->prepare( "SELECT meta_value FROM $wpdb->sitemeta WHERE site_id = %d AND meta_key = 'site_name'", $current_site->id ) );
-                       if ( ! $current_site->site_name )
-                               $current_site->site_name = ucfirst( $current_site->domain );
-               }
-               wp_cache_set( $current_site->id . ':current_site_name', $current_site->site_name, 'site-options' );
+               $current_site->site_name = $wpdb->get_var( $wpdb->prepare( "SELECT meta_value FROM $wpdb->sitemeta WHERE site_id = %d AND meta_key = 'site_name'", $current_site->id ) );
+               if ( ! $current_site->site_name )
+                       $current_site->site_name = ucfirst( $current_site->domain );
        }
+       wp_cache_set( $current_site->id . ':site_name', $current_site->site_name, 'site-options' );
+
        return $current_site;
 }
 
@@ -182,11 +207,10 @@ function wpmu_current_site() {
        }
 
        // Still no dice.
-       // @todo Update or remove WPMU codex link.
        if ( 1 == count( $sites ) )
                wp_die( sprintf( /*WP_I18N_BLOG_DOESNT_EXIST*/'That site does not exist. Please try <a href="%s">%s</a>.'/*/WP_I18N_BLOG_DOESNT_EXIST*/, $sites[0]->domain . $sites[0]->path ) );
        else
-               wp_die( /*WP_I18N_NO_SITE_DEFINED*/'No site defined on this host. If you are the owner of this site, please check <a href="http://codex.wordpress.org/Debugging_WPMU">Debugging WPMU</a> for help.'/*/WP_I18N_NO_SITE_DEFINED*/ );
+               wp_die( /*WP_I18N_NO_SITE_DEFINED*/'No site defined on this host. If you are the owner of this site, please check <a href="http://codex.wordpress.org/Debugging_a_WordPress_Network">Debugging a WordPress Network</a> for help.'/*/WP_I18N_NO_SITE_DEFINED*/ );
 }
 
 /**
@@ -194,8 +218,6 @@ function wpmu_current_site() {
  *
  * Used when a blog's tables do not exist. Checks for a missing $wpdb->site table as well.
  *
- * @todo update Codex link for 3.0.0
- *
  * @access private
  * @since 3.0.0
  */
@@ -213,7 +235,7 @@ function ms_not_installed() {
        else
                $msg .= '<p>' . sprintf( /*WP_I18N_NO_SITE_FOUND*/'<strong>Could not find site <code>%1$s</code>.</strong> Searched for table <code>%2$s</code> in database <code>%3$s</code>. Is that right?'/*/WP_I18N_NO_SITE_FOUND*/, rtrim( $domain . $path, '/' ), $wpdb->blogs, DB_NAME ) . '</p>';
        $msg .= '<p><strong>' . /*WP_I18N_WHAT_DO_I_DO*/'What do I do now?'/*WP_I18N_WHAT_DO_I_DO*/ . '</strong> ';
-       $msg .= /*WP_I18N_RTFM*/'Read the <a target="_blank" href="http://codex.wordpress.org/Debugging_WPMU">bug report</a> page. Some of the guidelines there may help you figure out what went wrong.'/*/WP_I18N_RTFM*/;
+       $msg .= /*WP_I18N_RTFM*/'Read the <a target="_blank" href="http://codex.wordpress.org/Debugging_a_WordPress_Network">bug report</a> page. Some of the guidelines there may help you figure out what went wrong.'/*/WP_I18N_RTFM*/;
        $msg .= ' ' . /*WP_I18N_STUCK*/'If you&#8217;re still stuck with this message, then check that your database contains the following tables:'/*/WP_I18N_STUCK*/ . '</p><ul>';
        foreach ( $wpdb->tables('global') as $t => $table ) {
                if ( 'sitecategories' == $t )