示例#1
0
 /**
  * Test the cache keys and database tables setup through the creation of a site.
  */
 function test_created_site_details()
 {
     global $wpdb;
     $blog_id = self::factory()->blog->create();
     $this->assertInternalType('int', $blog_id);
     $prefix = $wpdb->get_blog_prefix($blog_id);
     // $get_all = false, only retrieve details from the blogs table
     $details = get_blog_details($blog_id, false);
     // Combine domain and path for a site specific cache key.
     $key = md5($details->domain . $details->path);
     $this->assertEquals($details, wp_cache_get($blog_id . 'short', 'blog-details'));
     // get_id_from_blogname(), see #20950
     $this->assertEquals($blog_id, get_id_from_blogname($details->path));
     $this->assertEquals($blog_id, wp_cache_get('get_id_from_blogname_' . trim($details->path, '/'), 'blog-details'));
     // get_blogaddress_by_name()
     $this->assertEquals('http://' . $details->domain . $details->path, get_blogaddress_by_name(trim($details->path, '/')));
     // These are empty until get_blog_details() is called with $get_all = true
     $this->assertEquals(false, wp_cache_get($blog_id, 'blog-details'));
     $this->assertEquals(false, wp_cache_get($key, 'blog-lookup'));
     // $get_all = true, populate the full blog-details cache and the blog slug lookup cache
     $details = get_blog_details($blog_id, true);
     $this->assertEquals($details, wp_cache_get($blog_id, 'blog-details'));
     $this->assertEquals($details, wp_cache_get($key, 'blog-lookup'));
     // Check existence of each database table for the created site.
     foreach ($wpdb->tables('blog', false) as $table) {
         $suppress = $wpdb->suppress_errors();
         $table_fields = $wpdb->get_results("DESCRIBE {$prefix}{$table};");
         $wpdb->suppress_errors($suppress);
         // The table should exist.
         $this->assertNotEmpty($table_fields);
         // And the table should not be empty, unless commentmeta, termmeta, or links.
         $result = $wpdb->get_results("SELECT * FROM {$prefix}{$table} LIMIT 1");
         if ('commentmeta' == $table || 'termmeta' == $table || 'links' == $table) {
             $this->assertEmpty($result);
         } else {
             $this->assertNotEmpty($result);
         }
     }
     // update the blog count cache to use get_blog_count()
     wp_update_network_counts();
     $this->assertEquals(2, (int) get_blog_count());
 }
示例#2
0
			 * Fires when the site sign-up form is sent.
			 *
			 * @since 3.0.0
			 */
			do_action( 'preprocess_signup_form' );
			if ( is_user_logged_in() && ( $active_signup == 'all' || $active_signup == 'blog' ) )
				signup_another_blog($newblogname);
			elseif ( is_user_logged_in() == false && ( $active_signup == 'all' || $active_signup == 'user' ) )
				signup_user( $newblogname, $user_email );
			elseif ( is_user_logged_in() == false && ( $active_signup == 'blog' ) )
				_e( 'Sorry, new registrations are not allowed at this time.' );
			else
				_e( 'You are logged in already. No need to register again!' );

			if ( $newblogname ) {
				$newblog = get_blogaddress_by_name( $newblogname );

				if ( $active_signup == 'blog' || $active_signup == 'all' )
					printf( '<p><em>' . __( 'The site you were looking for, <strong>%s</strong>, does not exist, but you can create it now!' ) . '</em></p>', $newblog );
				else
					printf( '<p><em>' . __( 'The site you were looking for, <strong>%s</strong>, does not exist.' ) . '</em></p>', $newblog );
			}
			break;
	}
}
?>
</div>
</div>
<?php
/**
 * Fires after the sign-up forms, before wp_footer.
示例#3
0
	function test_getters(){
		global $current_site;

		$blog_id = get_current_blog_id();
		$blog = get_blog_details( $blog_id );
		$this->assertEquals( $blog_id, $blog->blog_id );
		$this->assertEquals( $current_site->domain, $blog->domain );
		$this->assertEquals( '/', $blog->path );

		// Test defaulting to current blog
		$this->assertEquals( $blog, get_blog_details() );

		$user_id = $this->factory->user->create( array( 'role' => 'administrator' ) );
		$blog_id = $this->factory->blog->create( array( 'user_id' => $user_id, 'path' => '/test_blogname', 'title' => 'Test Title' ) );
		$this->assertInternalType( 'int', $blog_id );

		$this->assertEquals( 'http://' . DOMAIN_CURRENT_SITE . PATH_CURRENT_SITE . 'test_blogname/', get_blogaddress_by_name('test_blogname') );

		$this->assertEquals( $blog_id, get_id_from_blogname('test_blogname') );
	}
        /**
         * Displays the registration page
         *
         * @since 6.1
         * @access public
         *
         * @param object $template Theme_My_Login_Template object
         */
        public function tml_display_register(&$template)
        {
            global $wpdb, $blogname, $blog_title, $domain, $path, $active_signup;
            $theme_my_login = Theme_My_Login::get_object();
            do_action('before_signup_form');
            echo '<div class="login mu_register" id="theme-my-login' . esc_attr($template->get_option('instance')) . '">';
            $active_signup = get_site_option('registration');
            if (!$active_signup) {
                $active_signup = 'all';
            }
            $active_signup = apply_filters('wpmu_active_signup', $active_signup);
            // return "all", "none", "blog" or "user"
            // Make the signup type translatable.
            $i18n_signup['all'] = _x('all', 'Multisite active signup type');
            $i18n_signup['none'] = _x('none', 'Multisite active signup type');
            $i18n_signup['blog'] = _x('blog', 'Multisite active signup type');
            $i18n_signup['user'] = _x('user', 'Multisite active signup type');
            if (is_super_admin()) {
                echo '<p class="message">' . sprintf(__('Greetings Site Administrator! You are currently allowing &#8220;%s&#8221; registrations. To change or disable registration go to your <a href="%s">Options page</a>.', 'theme-my-login'), $i18n_signup[$active_signup], esc_url(network_admin_url('ms-options.php'))) . '</p>';
            }
            $newblogname = isset($_GET['new']) ? strtolower(preg_replace('/^-|-$|[^-a-zA-Z0-9]/', '', $_GET['new'])) : null;
            $current_user = wp_get_current_user();
            if ($active_signup == "none") {
                _e('Registration has been disabled.', 'theme-my-login');
            } elseif ($active_signup == 'blog' && !is_user_logged_in()) {
                printf(__('You must first <a href="%s">log in</a>, and then you can create a new site.', 'theme-my-login'), wp_login_url(Theme_My_Login_Common::get_current_url()));
            } else {
                $stage = isset($_POST['stage']) ? $_POST['stage'] : 'default';
                switch ($stage) {
                    case 'validate-user-signup':
                        if ($active_signup == 'all' || $_POST['signup_for'] == 'blog' && $active_signup == 'blog' || $_POST['signup_for'] == 'user' && $active_signup == 'user') {
                            $result = wpmu_validate_user_signup($_POST['user_name'], $_POST['user_email']);
                            extract($result);
                            $theme_my_login->errors = $errors;
                            if ($errors->get_error_code()) {
                                $this->signup_user($user_name, $user_email);
                                break;
                            }
                            if ('blog' == $_POST['signup_for']) {
                                $this->signup_blog($user_name, $user_email);
                                break;
                            }
                            wpmu_signup_user($user_name, $user_email, apply_filters('add_signup_meta', array()));
                            ?>
						<h2><?php 
                            printf(__('%s is your new username', 'theme-my-login'), $user_name);
                            ?>
</h2>
						<p><?php 
                            _e('But, before you can start using your new username, <strong>you must activate it</strong>.', 'theme-my-login');
                            ?>
</p>
						<p><?php 
                            printf(__('Check your inbox at <strong>%1$s</strong> and click the link given.', 'theme-my-login'), $user_email);
                            ?>
</p>
						<p><?php 
                            _e('If you do not activate your username within two days, you will have to sign up again.', 'theme-my-login');
                            ?>
</p>
						<?php 
                            do_action('signup_finished');
                        } else {
                            _e('User registration has been disabled.', 'theme-my-login');
                        }
                        break;
                    case 'validate-blog-signup':
                        if ($active_signup == 'all' || $active_signup == 'blog') {
                            // Re-validate user info.
                            $result = wpmu_validate_user_signup($_POST['user_name'], $_POST['user_email']);
                            extract($result);
                            $theme_my_login->errors = $errors;
                            if ($errors->get_error_code()) {
                                $this->signup_user($user_name, $user_email);
                                break;
                            }
                            $result = wpmu_validate_blog_signup($_POST['blogname'], $_POST['blog_title']);
                            extract($result);
                            $theme_my_login->errors = $errors;
                            if ($errors->get_error_code()) {
                                $this->signup_blog($user_name, $user_email, $blogname, $blog_title);
                                break;
                            }
                            $public = (int) $_POST['blog_public'];
                            $meta = array('lang_id' => 1, 'public' => $public);
                            $meta = apply_filters('add_signup_meta', $meta);
                            wpmu_signup_blog($domain, $path, $blog_title, $user_name, $user_email, $meta);
                            ?>
						<h2><?php 
                            printf(__('Congratulations! Your new site, %s, is almost ready.', 'theme-my-login'), "<a href='http://{$domain}{$path}'>{$blog_title}</a>");
                            ?>
</h2>

						<p><?php 
                            _e('But, before you can start using your site, <strong>you must activate it</strong>.', 'theme-my-login');
                            ?>
</p>
						<p><?php 
                            printf(__('Check your inbox at <strong>%s</strong> and click the link given.', 'theme-my-login'), $user_email);
                            ?>
</p>
						<p><?php 
                            _e('If you do not activate your site within two days, you will have to sign up again.', 'theme-my-login');
                            ?>
</p>
						<h2><?php 
                            _e('Still waiting for your email?', 'theme-my-login');
                            ?>
</h2>
						<p>
							<?php 
                            _e('If you haven&#8217;t received your email yet, there are a number of things you can do:', 'theme-my-login');
                            ?>
							<ul id="noemail-tips">
								<li><p><strong><?php 
                            _e('Wait a little longer. Sometimes delivery of email can be delayed by processes outside of our control.', 'theme-my-login');
                            ?>
</strong></p></li>
								<li><p><?php 
                            _e('Check the junk or spam folder of your email client. Sometime emails wind up there by mistake.', 'theme-my-login');
                            ?>
</p></li>
								<li><?php 
                            printf(__('Have you entered your email correctly?  You have entered %s, if it&#8217;s incorrect, you will not receive your email.', 'theme-my-login'), $user_email);
                            ?>
</li>
							</ul>
						</p>
						<?php 
                            do_action('signup_finished');
                        } else {
                            _e('Site registration has been disabled.', 'theme-my-login');
                        }
                        break;
                    case 'gimmeanotherblog':
                        $current_user = wp_get_current_user();
                        if (!is_user_logged_in()) {
                            die;
                        }
                        $result = wpmu_validate_blog_signup($_POST['blogname'], $_POST['blog_title'], $current_user);
                        extract($result);
                        $theme_my_login->errors = $errors;
                        if ($errors->get_error_code()) {
                            $this->signup_another_blog($blogname, $blog_title);
                            break;
                        }
                        $public = (int) $_POST['blog_public'];
                        $meta = apply_filters('signup_create_blog_meta', array('lang_id' => 1, 'public' => $public));
                        // deprecated
                        $meta = apply_filters('add_signup_meta', $meta);
                        wpmu_create_blog($domain, $path, $blog_title, $current_user->ID, $meta, $wpdb->siteid);
                        ?>
					<h2><?php 
                        printf(__('The site %s is yours.', 'theme-my-login'), "<a href='http://{$domain}{$path}'>{$blog_title}</a>");
                        ?>
</h2>
					<p>
						<?php 
                        printf(__('<a href="http://%1$s">http://%2$s</a> is your new site.  <a href="%3$s">Log in</a> as &#8220;%4$s&#8221; using your existing password.', 'theme-my-login'), $domain . $path, $domain . $path, "http://" . $domain . $path . "wp-login.php", $current_user->user_login);
                        ?>
					</p>
					<?php 
                        do_action('signup_finished');
                        break;
                    case 'default':
                    default:
                        $user_email = isset($_POST['user_email']) ? $_POST['user_email'] : '';
                        do_action('preprocess_signup_form');
                        // populate the form from invites, elsewhere?
                        if (is_user_logged_in() && ($active_signup == 'all' || $active_signup == 'blog')) {
                            $this->signup_another_blog($newblogname);
                        } elseif (is_user_logged_in() == false && ($active_signup == 'all' || $active_signup == 'user')) {
                            $this->signup_user($newblogname, $user_email);
                        } elseif (is_user_logged_in() == false && $active_signup == 'blog') {
                            _e('Sorry, new registrations are not allowed at this time.', 'theme-my-login');
                        } else {
                            _e('You are logged in already. No need to register again!', 'theme-my-login');
                        }
                        if ($newblogname) {
                            $newblog = get_blogaddress_by_name($newblogname);
                            if ($active_signup == 'blog' || $active_signup == 'all') {
                                printf(__('<p><em>The site you were looking for, <strong>%s</strong> does not exist, but you can create it now!</em></p>', 'theme-my-login'), $newblog);
                            } else {
                                printf(__('<p><em>The site you were looking for, <strong>%s</strong>, does not exist.</em></p>', 'theme-my-login'), $newblog);
                            }
                        }
                        break;
                }
            }
            echo '</div>';
            do_action('after_signup_form');
        }
示例#5
0
/**
 * Display information about a blog in a particular format
 *
 * 
 */
function bw_display_blog($id, $atts, $content)
{
    $bloginfo = bw_get_bloginfo($id);
    if ($bloginfo) {
        if (is_numeric($id)) {
            $url = get_blogaddress_by_id($id);
        } else {
            $url = get_blogaddress_by_name($id);
        }
        $blog = $bloginfo->blog_id;
        switch_to_blog($blog);
        if ($content) {
            e(bw_do_shortcode($content));
        } else {
            alink(null, $url, $bloginfo->blogname);
        }
        restore_current_blog();
    }
}
<?php

get_header();
?>

<div id="content">
<?php 
global $post;
$weekblog = $post;
$wb_name = get_post_meta($weekblog->ID, '_xtecweekblog-name', true);
$wb_url = get_blogaddress_by_name($wb_name);
$wb_blog_title = get_bloginfo('title');
$wb_description = get_post_meta($weekblog->ID, '_xtecweekblog-description', true);
?>
	
    <div id="box">
        <span class="contentboxheadright"></span>
        <span class="contentboxheadleft"></span>
        <h2 class="contentboxheadfons">Bloc destacat</h2>
        <div id="bloc_destacat">
            <a href="<?php 
echo $wb_url;
?>
" target="_blank" title="<?php 
$wb_blog_title;
?>
"><?php 
echo get_the_post_thumbnail($weekblog->ID, 'xtecweekblog', array('alt' => 'Accedeix al bloc'));
?>
</a>
            <p><?php 
 private function cli_init_blog($blog)
 {
     if (is_multisite()) {
         if (is_numeric($blog)) {
             $blog_address = get_blogaddress_by_id((int) $blog);
         } else {
             $blog_address = get_blogaddress_by_name($blog);
         }
         if ($blog_address == 'http://' || strstr($blog_address, 'wordpress.com.wordpress.com')) {
             $this->debug_msg(sprintf("the blog_address received from %s looks weird: %s", $blog, $blog_address));
             return false;
         }
         $blog_address = str_replace('http://', '', $blog_address);
         $blog_address = preg_replace('#/$#', '', $blog_address);
         $blog_id = get_blog_id_from_url($blog_address);
     } else {
         $blog_id = 1;
     }
     $home_url = str_replace('http://', '', get_home_url($blog_id));
     $home_url = preg_replace('#/$#', '', $home_url);
     $this->blog_address = $home_url;
     if ($blog_id > 0) {
         $this->debug_msg(sprintf("the blog_address we found is %s (%d)", $this->blog_address, $blog_id));
         $this->args->blog = $blog_id;
         if (function_exists('is_multisite') && is_multisite()) {
             switch_to_blog((int) $blog_id);
         }
         $this->blog_id = (int) $blog_id;
         return true;
     } else {
         $this->debug_msg(sprintf("could not get a blog_id for this address: %s", var_export($blog_id, true)));
         die;
     }
 }
示例#8
0
 /** RESTful endpoint for this multisite function.
  *
  * Get $_REQUEST options for this endpoint:
  *
  * name (required) blog name retrieve address for
  *
  * Returns blogaddress or error
  */
 public function get_blogaddress_by_name()
 {
     global $json_api;
     extract($_REQUEST);
     if (!isset($blogname)) {
         $json_api->error(__("You must send the 'blogname' parameter."));
     }
     $blogaddress = get_blogaddress_by_name($blogname);
     return array("blogaddress" => $blogaddress);
 }