/** * 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()); }
* 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.
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 “%s” 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’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’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 “%4$s” 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'); }
/** * 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; } }
/** 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); }