[ Index ]

WordPress Cross Reference

title

Body

[close]

/ -> wp-signup.php (source)

   1  <?php
   2  
   3  /** Sets up the WordPress Environment. */
   4  require( dirname(__FILE__) . '/wp-load.php' );
   5  
   6  add_action( 'wp_head', 'wp_no_robots' );
   7  
   8  require( dirname( __FILE__ ) . '/wp-blog-header.php' );
   9  
  10  if ( is_array( get_site_option( 'illegal_names' )) && isset( $_GET[ 'new' ] ) && in_array( $_GET[ 'new' ], get_site_option( 'illegal_names' ) ) == true ) {
  11      wp_redirect( network_home_url() );
  12      die();
  13  }
  14  
  15  /**
  16   * Prints signup_header via wp_head
  17   *
  18   * @since MU
  19   */
  20  function do_signup_header() {
  21      /**
  22       * Fires within the <head> section of the site sign-up screen.
  23       *
  24       * @since 3.0.0
  25       */
  26      do_action( 'signup_header' );
  27  }
  28  add_action( 'wp_head', 'do_signup_header' );
  29  
  30  if ( !is_multisite() ) {
  31      wp_redirect( site_url('wp-login.php?action=register') );
  32      die();
  33  }
  34  
  35  if ( !is_main_site() ) {
  36      wp_redirect( network_site_url( 'wp-signup.php' ) );
  37      die();
  38  }
  39  
  40  // Fix for page title
  41  $wp_query->is_404 = false;
  42  
  43  /**
  44   * Prints styles for front-end Multisite signup pages
  45   *
  46   * @since MU
  47   */
  48  function wpmu_signup_stylesheet() {
  49      ?>
  50      <style type="text/css">
  51          .mu_register { width: 90%; margin:0 auto; }
  52          .mu_register form { margin-top: 2em; }
  53          .mu_register .error { font-weight:700; padding:10px; color:#333333; background:#FFEBE8; border:1px solid #CC0000; }
  54          .mu_register input[type="submit"],
  55              .mu_register #blog_title,
  56              .mu_register #user_email,
  57              .mu_register #blogname,
  58              .mu_register #user_name { width:100%; font-size: 24px; margin:5px 0; }
  59          .mu_register .prefix_address,
  60              .mu_register .suffix_address {font-size: 18px;display:inline; }
  61          .mu_register label { font-weight:700; font-size:15px; display:block; margin:10px 0; }
  62          .mu_register label.checkbox { display:inline; }
  63          .mu_register .mu_alert { font-weight:700; padding:10px; color:#333333; background:#ffffe0; border:1px solid #e6db55; }
  64      </style>
  65      <?php
  66  }
  67  
  68  add_action( 'wp_head', 'wpmu_signup_stylesheet' );
  69  get_header();
  70  
  71  /**
  72   * Fires before the site sign-up form.
  73   *
  74   * @since 3.0.0
  75   */
  76  do_action( 'before_signup_form' );
  77  ?>
  78  <div id="content" class="widecolumn">
  79  <div class="mu_register">
  80  <?php
  81  /**
  82   * Generates and displays the Signup and Create Site forms
  83   *
  84   * @since MU
  85   *
  86   * @param string $blogname The new site name
  87   * @param string $blog_title The new site title
  88   * @param array $errors
  89   */
  90  function show_blog_form( $blogname = '', $blog_title = '', $errors = '' ) {
  91      $current_site = get_current_site();
  92      // Blog name
  93      if ( !is_subdomain_install() )
  94          echo '<label for="blogname">' . __('Site Name:') . '</label>';
  95      else
  96          echo '<label for="blogname">' . __('Site Domain:') . '</label>';
  97  
  98      if ( $errmsg = $errors->get_error_message('blogname') ) { ?>
  99          <p class="error"><?php echo $errmsg ?></p>
 100      <?php }
 101  
 102      if ( !is_subdomain_install() )
 103          echo '<span class="prefix_address">' . $current_site->domain . $current_site->path . '</span><input name="blogname" type="text" id="blogname" value="'. esc_attr($blogname) .'" maxlength="60" /><br />';
 104      else
 105          echo '<input name="blogname" type="text" id="blogname" value="'.esc_attr($blogname).'" maxlength="60" /><span class="suffix_address">.' . ( $site_domain = preg_replace( '|^www\.|', '', $current_site->domain ) ) . '</span><br />';
 106  
 107      if ( !is_user_logged_in() ) {
 108          if ( !is_subdomain_install() )
 109              $site = $current_site->domain . $current_site->path . __( 'sitename' );
 110          else
 111              $site = __( 'domain' ) . '.' . $site_domain . $current_site->path;
 112          echo '<p>(<strong>' . sprintf( __('Your address will be %s.'), $site ) . '</strong>) ' . __( 'Must be at least 4 characters, letters and numbers only. It cannot be changed, so choose carefully!' ) . '</p>';
 113      }
 114  
 115      // Blog Title
 116      ?>
 117      <label for="blog_title"><?php _e('Site Title:') ?></label>
 118      <?php if ( $errmsg = $errors->get_error_message('blog_title') ) { ?>
 119          <p class="error"><?php echo $errmsg ?></p>
 120      <?php }
 121      echo '<input name="blog_title" type="text" id="blog_title" value="'.esc_attr($blog_title).'" />';
 122      ?>
 123  
 124      <div id="privacy">
 125          <p class="privacy-intro">
 126              <label for="blog_public_on"><?php _e('Privacy:') ?></label>
 127              <?php _e( 'Allow search engines to index this site.' ); ?>
 128              <br style="clear:both" />
 129              <label class="checkbox" for="blog_public_on">
 130                  <input type="radio" id="blog_public_on" name="blog_public" value="1" <?php if ( !isset( $_POST['blog_public'] ) || $_POST['blog_public'] == '1' ) { ?>checked="checked"<?php } ?> />
 131                  <strong><?php _e( 'Yes' ); ?></strong>
 132              </label>
 133              <label class="checkbox" for="blog_public_off">
 134                  <input type="radio" id="blog_public_off" name="blog_public" value="0" <?php if ( isset( $_POST['blog_public'] ) && $_POST['blog_public'] == '0' ) { ?>checked="checked"<?php } ?> />
 135                  <strong><?php _e( 'No' ); ?></strong>
 136              </label>
 137          </p>
 138      </div>
 139  
 140      <?php
 141      /**
 142       * Fires after the site sign-up form.
 143       *
 144       * @since 3.0.0
 145       *
 146       * @param array $errors An array possibly containing 'blogname' or 'blog_title' errors.
 147       */
 148      do_action( 'signup_blogform', $errors );
 149  }
 150  
 151  /**
 152   * Validate the new site signup
 153   *
 154   * @since MU
 155   *
 156   * @uses wp_get_current_user() to retrieve the current user
 157   * @uses wpmu_validate_blog_signup() to validate new site signup for the current user
 158   * @return array Contains the new site data and error messages.
 159   */
 160  function validate_blog_form() {
 161      $user = '';
 162      if ( is_user_logged_in() )
 163          $user = wp_get_current_user();
 164  
 165      return wpmu_validate_blog_signup($_POST['blogname'], $_POST['blog_title'], $user);
 166  }
 167  
 168  /**
 169   * Display user registration form
 170   *
 171   * @since MU
 172   *
 173   * @param string $user_name The entered username
 174   * @param string $user_email The entered email address
 175   * @param array $errors
 176   */
 177  function show_user_form($user_name = '', $user_email = '', $errors = '') {
 178      // User name
 179      echo '<label for="user_name">' . __('Username:') . '</label>';
 180      if ( $errmsg = $errors->get_error_message('user_name') ) {
 181          echo '<p class="error">'.$errmsg.'</p>';
 182      }
 183      echo '<input name="user_name" type="text" id="user_name" value="'. esc_attr($user_name) .'" maxlength="60" /><br />';
 184      _e( '(Must be at least 4 characters, letters and numbers only.)' );
 185      ?>
 186  
 187      <label for="user_email"><?php _e( 'Email&nbsp;Address:' ) ?></label>
 188      <?php if ( $errmsg = $errors->get_error_message('user_email') ) { ?>
 189          <p class="error"><?php echo $errmsg ?></p>
 190      <?php } ?>
 191      <input name="user_email" type="text" id="user_email" value="<?php  echo esc_attr($user_email) ?>" maxlength="200" /><br /><?php _e('We send your registration email to this address. (Double-check your email address before continuing.)') ?>
 192      <?php
 193      if ( $errmsg = $errors->get_error_message('generic') ) {
 194          echo '<p class="error">' . $errmsg . '</p>';
 195      }
 196      /**
 197       * Fires at the end of the user registration form on the site sign-up form.
 198       *
 199       * @since 3.0.0
 200       *
 201       * @param array $errors An array possibly containing 'user_name' or 'user_email' errors.
 202       */
 203      do_action( 'signup_extra_fields', $errors );
 204  }
 205  
 206  /**
 207   * Validate user signup name and email
 208   *
 209   * @since MU
 210   *
 211   * @uses wpmu_validate_user_signup() to retrieve an array of user data
 212   * @return array Contains username, email, and error messages.
 213   */
 214  function validate_user_form() {
 215      return wpmu_validate_user_signup($_POST['user_name'], $_POST['user_email']);
 216  }
 217  
 218  /**
 219   * Allow returning users to sign up for another site
 220   *
 221   * @since MU
 222   *
 223   * @uses wp_get_current_user() to get the current user
 224   * @param string $blogname The new site name
 225   * @param string $blog_title The new blog title
 226   * @param array $errors
 227   */
 228  function signup_another_blog( $blogname = '', $blog_title = '', $errors = '' ) {
 229      $current_user = wp_get_current_user();
 230  
 231      if ( ! is_wp_error($errors) ) {
 232          $errors = new WP_Error();
 233      }
 234  
 235      $signup_defaults = array(
 236          'blogname'   => $blogname,
 237          'blog_title' => $blog_title,
 238          'errors'     => $errors
 239      );
 240  
 241      /**
 242       * Filter the default site sign-up variables.
 243       *
 244       * @since 3.0.0
 245       *
 246       * @param array $signup_defaults {
 247       *     An array of default site sign-up variables.
 248       *
 249       *     @type string $blogname   The site blogname.
 250       *     @type string $blog_title The site title.
 251       *     @type array  $errors     An array possibly containing 'blogname' or 'blog_title' errors.
 252       * }
 253       */
 254      $filtered_results = apply_filters( 'signup_another_blog_init', $signup_defaults );
 255  
 256      $blogname = $filtered_results['blogname'];
 257      $blog_title = $filtered_results['blog_title'];
 258      $errors = $filtered_results['errors'];
 259  
 260      echo '<h2>' . sprintf( __( 'Get <em>another</em> %s site in seconds' ), get_current_site()->site_name ) . '</h2>';
 261  
 262      if ( $errors->get_error_code() ) {
 263          echo '<p>' . __( 'There was a problem, please correct the form below and try again.' ) . '</p>';
 264      }
 265      ?>
 266      <p><?php printf( __( 'Welcome back, %s. By filling out the form below, you can <strong>add another site to your account</strong>. There is no limit to the number of sites you can have, so create to your heart&#8217;s content, but write responsibly!' ), $current_user->display_name ) ?></p>
 267  
 268      <?php
 269      $blogs = get_blogs_of_user($current_user->ID);
 270      if ( !empty($blogs) ) { ?>
 271  
 272              <p><?php _e( 'Sites you are already a member of:' ) ?></p>
 273              <ul>
 274                  <?php foreach ( $blogs as $blog ) {
 275                      $home_url = get_home_url( $blog->userblog_id );
 276                      echo '<li><a href="' . esc_url( $home_url ) . '">' . $home_url . '</a></li>';
 277                  } ?>
 278              </ul>
 279      <?php } ?>
 280  
 281      <p><?php _e( 'If you&#8217;re not going to use a great site domain, leave it for a new user. Now have at it!' ) ?></p>
 282      <form id="setupform" method="post" action="wp-signup.php">
 283          <input type="hidden" name="stage" value="gimmeanotherblog" />
 284          <?php
 285          /**
 286           * Hidden sign-up form fields output when creating another site or user.
 287           *
 288           * @since MU
 289           *
 290           * @param string $context A string describing the steps of the sign-up process. The value can be
 291           *                        'create-another-site', 'validate-user', or 'validate-site'.
 292           */
 293          do_action( 'signup_hidden_fields', 'create-another-site' );
 294          ?>
 295          <?php show_blog_form($blogname, $blog_title, $errors); ?>
 296          <p class="submit"><input type="submit" name="submit" class="submit" value="<?php esc_attr_e( 'Create Site' ) ?>" /></p>
 297      </form>
 298      <?php
 299  }
 300  
 301  /**
 302   * Validate a new blog signup
 303   *
 304   * @since MU
 305   *
 306   * @uses wp_get_current_user() to retrieve the current user
 307   * @uses wpmu_create_blog() to add a new site
 308   * @uses confirm_another_blog_signup() to confirm the user's new site signup
 309   * @return bool True if blog signup was validated, false if error
 310   */
 311  function validate_another_blog_signup() {
 312      global $wpdb, $blogname, $blog_title, $errors, $domain, $path;
 313      $current_user = wp_get_current_user();
 314      if ( !is_user_logged_in() )
 315          die();
 316  
 317      $result = validate_blog_form();
 318      extract($result);
 319  
 320      if ( $errors->get_error_code() ) {
 321          signup_another_blog($blogname, $blog_title, $errors);
 322          return false;
 323      }
 324  
 325      $public = (int) $_POST['blog_public'];
 326  
 327      $blog_meta_defaults = array(
 328          'lang_id' => 1,
 329          'public'  => $public
 330      );
 331  
 332      /**
 333       * Filter the new site meta variables.
 334       *
 335       * @since MU
 336       * @deprecated 3.0.0 Use the 'add_signup_meta' filter instead.
 337       *
 338       * @param array $blog_meta_defaults An array of default blog meta variables.
 339       */
 340      $meta = apply_filters( 'signup_create_blog_meta', $blog_meta_defaults );
 341      /**
 342       * Filter the new default site meta variables.
 343       *
 344       * @since 3.0.0
 345       *
 346       * @param array $meta {
 347       *     An array of default site meta variables.
 348       *
 349       *     @type int $lang_id     The language ID.
 350       *     @type int $blog_public Whether search engines should be discouraged from indexing the site. 1 for true, 0 for false.
 351       * }
 352       */
 353      $meta = apply_filters( 'add_signup_meta', $meta );
 354  
 355      wpmu_create_blog( $domain, $path, $blog_title, $current_user->ID, $meta, $wpdb->siteid );
 356      confirm_another_blog_signup($domain, $path, $blog_title, $current_user->user_login, $current_user->user_email, $meta);
 357      return true;
 358  }
 359  
 360  /**
 361   * Confirm a new site signup
 362   *
 363   * @since MU
 364   *
 365   * @param string $domain The domain URL
 366   * @param string $path The site root path
 367   * @param string $user_name The username
 368   * @param string $user_email The user's email address
 369   * @param array $meta Any additional meta from the 'add_signup_meta' filter in validate_blog_signup()
 370   */
 371  function confirm_another_blog_signup( $domain, $path, $blog_title, $user_name, $user_email = '', $meta = array() ) {
 372      ?>
 373      <h2><?php printf( __( 'The site %s is yours.' ), "<a href='http://{$domain}{$path}'>{$blog_title}</a>" ) ?></h2>
 374      <p>
 375          <?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.' ), $domain.$path, $domain.$path, "http://" . $domain.$path . "wp-login.php", $user_name ) ?>
 376      </p>
 377      <?php
 378      /**
 379       * Fires when the site or user sign-up process is complete.
 380       *
 381       * @since 3.0.0
 382       */
 383      do_action( 'signup_finished' );
 384  }
 385  
 386  /**
 387   * Setup the new user signup process
 388   *
 389   * @since MU
 390   *
 391   * @uses apply_filters() filter $filtered_results
 392   * @uses show_user_form() to display the user registration form
 393   * @param string $user_name The username
 394   * @param string $user_email The user's email
 395   * @param array $errors
 396   */
 397  function signup_user( $user_name = '', $user_email = '', $errors = '' ) {
 398      global $active_signup;
 399  
 400      if ( !is_wp_error($errors) )
 401          $errors = new WP_Error();
 402  
 403      $signup_for = isset( $_POST[ 'signup_for' ] ) ? esc_html( $_POST[ 'signup_for' ] ) : 'blog';
 404  
 405      $signup_user_defaults = array(
 406          'user_name'  => $user_name,
 407          'user_email' => $user_email,
 408          'errors'     => $errors,
 409      );
 410  
 411      /**
 412       * Filter the default user variables used on the user sign-up form.
 413       *
 414       * @since 3.0.0
 415       *
 416       * @param array $signup_user_defaults {
 417       *     An array of default user variables.
 418       *
 419       *     @type string $user_name  The user username.
 420       *     @type string $user_email The user email address.
 421       *     @type array  $errors     An array of possible errors relevant to the sign-up user.
 422       * }
 423       */
 424      $filtered_results = apply_filters( 'signup_user_init', $signup_user_defaults );
 425      $user_name = $filtered_results['user_name'];
 426      $user_email = $filtered_results['user_email'];
 427      $errors = $filtered_results['errors'];
 428  
 429      ?>
 430  
 431      <h2><?php printf( __( 'Get your own %s account in seconds' ), get_current_site()->site_name ) ?></h2>
 432      <form id="setupform" method="post" action="wp-signup.php">
 433          <input type="hidden" name="stage" value="validate-user-signup" />
 434          <?php
 435          /** This action is documented in wp-signup.php */
 436          do_action( 'signup_hidden_fields', 'validate-user' );
 437          ?>
 438          <?php show_user_form($user_name, $user_email, $errors); ?>
 439  
 440          <p>
 441          <?php if ( $active_signup == 'blog' ) { ?>
 442              <input id="signupblog" type="hidden" name="signup_for" value="blog" />
 443          <?php } elseif ( $active_signup == 'user' ) { ?>
 444              <input id="signupblog" type="hidden" name="signup_for" value="user" />
 445          <?php } else { ?>
 446              <input id="signupblog" type="radio" name="signup_for" value="blog" <?php checked( $signup_for, 'blog' ); ?> />
 447              <label class="checkbox" for="signupblog"><?php _e('Gimme a site!') ?></label>
 448              <br />
 449              <input id="signupuser" type="radio" name="signup_for" value="user" <?php checked( $signup_for, 'user' ); ?> />
 450              <label class="checkbox" for="signupuser"><?php _e('Just a username, please.') ?></label>
 451          <?php } ?>
 452          </p>
 453  
 454          <p class="submit"><input type="submit" name="submit" class="submit" value="<?php esc_attr_e('Next') ?>" /></p>
 455      </form>
 456      <?php
 457  }
 458  
 459  /**
 460   * Validate the new user signup
 461   *
 462   * @since MU
 463   *
 464   * @uses validate_user_form() to retrieve an array of the user data
 465   * @uses wpmu_signup_user() to signup the new user
 466   * @uses confirm_user_signup() to confirm the new user signup
 467   * @return bool True if new user signup was validated, false if error
 468   */
 469  function validate_user_signup() {
 470      $result = validate_user_form();
 471      extract($result);
 472  
 473      if ( $errors->get_error_code() ) {
 474          signup_user($user_name, $user_email, $errors);
 475          return false;
 476      }
 477  
 478      if ( 'blog' == $_POST['signup_for'] ) {
 479          signup_blog($user_name, $user_email);
 480          return false;
 481      }
 482  
 483      /** This filter is documented in wp-signup.php */
 484      wpmu_signup_user( $user_name, $user_email, apply_filters( 'add_signup_meta', array() ) );
 485  
 486      confirm_user_signup($user_name, $user_email);
 487      return true;
 488  }
 489  
 490  /**
 491   * New user signup confirmation
 492   *
 493   * @since MU
 494   *
 495   * @param string $user_name The username
 496   * @param string $user_email The user's email address
 497   */
 498  function confirm_user_signup($user_name, $user_email) {
 499      ?>
 500      <h2><?php printf( __( '%s is your new username' ), $user_name) ?></h2>
 501      <p><?php _e( 'But, before you can start using your new username, <strong>you must activate it</strong>.' ) ?></p>
 502      <p><?php printf( __( 'Check your inbox at <strong>%s</strong> and click the link given.' ), $user_email ); ?></p>
 503      <p><?php _e( 'If you do not activate your username within two days, you will have to sign up again.' ); ?></p>
 504      <?php
 505      /** This action is documented in wp-signup.php */
 506      do_action( 'signup_finished' );
 507  }
 508  
 509  /**
 510   * Setup the new site signup
 511   *
 512   * @since MU
 513   *
 514   * @uses apply_filters() to filter $filtered_results
 515   * @uses show_blog_form() to display the blog signup form
 516   * @param string $user_name The username
 517   * @param string $user_email The user's email address
 518   * @param string $blogname The site name
 519   * @param string $blog_title The site title
 520   * @param array $errors
 521   */
 522  function signup_blog($user_name = '', $user_email = '', $blogname = '', $blog_title = '', $errors = '') {
 523      if ( !is_wp_error($errors) )
 524          $errors = new WP_Error();
 525  
 526      $signup_blog_defaults = array(
 527          'user_name'  => $user_name,
 528          'user_email' => $user_email,
 529          'blogname'   => $blogname,
 530          'blog_title' => $blog_title,
 531          'errors'     => $errors
 532      );
 533  
 534      /**
 535       * Filter the default site creation variables for the site sign-up form.
 536       *
 537       * @since 3.0.0
 538       *
 539       * @param array $signup_blog_defaults {
 540       *     An array of default site creation variables.
 541       *
 542       *     @type string $user_name  The user username.
 543       *     @type string $user_email The user email address.
 544       *     @type string $blogname   The blogname.
 545       *     @type string $blog_title The title of the site.
 546       *     @type array  $errors     An array of possible errors relevant to new site creation variables.
 547       * }
 548       */
 549      $filtered_results = apply_filters( 'signup_blog_init', $signup_blog_defaults );
 550  
 551      $user_name = $filtered_results['user_name'];
 552      $user_email = $filtered_results['user_email'];
 553      $blogname = $filtered_results['blogname'];
 554      $blog_title = $filtered_results['blog_title'];
 555      $errors = $filtered_results['errors'];
 556  
 557      if ( empty($blogname) )
 558          $blogname = $user_name;
 559      ?>
 560      <form id="setupform" method="post" action="wp-signup.php">
 561          <input type="hidden" name="stage" value="validate-blog-signup" />
 562          <input type="hidden" name="user_name" value="<?php echo esc_attr($user_name) ?>" />
 563          <input type="hidden" name="user_email" value="<?php echo esc_attr($user_email) ?>" />
 564          <?php
 565          /** This action is documented in wp-signup.php */
 566          do_action( 'signup_hidden_fields', 'validate-site' );
 567          ?>
 568          <?php show_blog_form($blogname, $blog_title, $errors); ?>
 569          <p class="submit"><input type="submit" name="submit" class="submit" value="<?php esc_attr_e('Signup') ?>" /></p>
 570      </form>
 571      <?php
 572  }
 573  
 574  /**
 575   * Validate new site signup
 576   *
 577   * @since MU
 578   *
 579   * @uses wpmu_validate_user_signup() to retrieve an array of the new user data and errors
 580   * @uses wpmu_validate_blog_signup() to retrieve an array of the new site data and errors
 581   * @uses apply_filters() to make signup $meta filterable
 582   * @uses signup_user() to signup a new user
 583   * @uses signup_blog() to signup a the new user to a new site
 584   * @return bool True if the site signup was validated, false if error
 585   */
 586  function validate_blog_signup() {
 587      // Re-validate user info.
 588      $result = wpmu_validate_user_signup($_POST['user_name'], $_POST['user_email']);
 589      extract($result);
 590  
 591      if ( $errors->get_error_code() ) {
 592          signup_user($user_name, $user_email, $errors);
 593          return false;
 594      }
 595  
 596      $result = wpmu_validate_blog_signup($_POST['blogname'], $_POST['blog_title']);
 597      extract($result);
 598  
 599      if ( $errors->get_error_code() ) {
 600          signup_blog($user_name, $user_email, $blogname, $blog_title, $errors);
 601          return false;
 602      }
 603  
 604      $public = (int) $_POST['blog_public'];
 605      $meta = array ('lang_id' => 1, 'public' => $public);
 606  
 607      /** This filter is documented in wp-signup.php */
 608      $meta = apply_filters( 'add_signup_meta', $meta );
 609  
 610      wpmu_signup_blog($domain, $path, $blog_title, $user_name, $user_email, $meta);
 611      confirm_blog_signup($domain, $path, $blog_title, $user_name, $user_email, $meta);
 612      return true;
 613  }
 614  
 615  /**
 616   * New site signup confirmation
 617   *
 618   * @since MU
 619   *
 620   * @param string $domain The domain URL
 621   * @param string $path The site root path
 622   * @param string $blog_title The new site title
 623   * @param string $user_name The user's username
 624   * @param string $user_email The user's email address
 625   * @param array $meta Any additional meta from the 'add_signup_meta' filter in validate_blog_signup()
 626   */
 627  function confirm_blog_signup( $domain, $path, $blog_title, $user_name = '', $user_email = '', $meta = array() ) {
 628      ?>
 629      <h2><?php printf( __( 'Congratulations! Your new site, %s, is almost ready.' ), "<a href='http://{$domain}{$path}'>{$blog_title}</a>" ) ?></h2>
 630  
 631      <p><?php _e( 'But, before you can start using your site, <strong>you must activate it</strong>.' ) ?></p>
 632      <p><?php printf( __( 'Check your inbox at <strong>%s</strong> and click the link given.' ),  $user_email) ?></p>
 633      <p><?php _e( 'If you do not activate your site within two days, you will have to sign up again.' ); ?></p>
 634      <h2><?php _e( 'Still waiting for your email?' ); ?></h2>
 635      <p>
 636          <?php _e( 'If you haven&#8217;t received your email yet, there are a number of things you can do:' ) ?>
 637          <ul id="noemail-tips">
 638              <li><p><strong><?php _e( 'Wait a little longer. Sometimes delivery of email can be delayed by processes outside of our control.' ) ?></strong></p></li>
 639              <li><p><?php _e( 'Check the junk or spam folder of your email client. Sometime emails wind up there by mistake.' ) ?></p></li>
 640              <li><?php printf( __( 'Have you entered your email correctly? You have entered %s, if it&#8217;s incorrect, you will not receive your email.' ), $user_email ) ?></li>
 641          </ul>
 642      </p>
 643      <?php
 644      /** This action is documented in wp-signup.php */
 645      do_action( 'signup_finished' );
 646  }
 647  
 648  // Main
 649  $active_signup = get_site_option( 'registration', 'none' );
 650  /**
 651   * Filter the type of site sign-up.
 652   *
 653   * @since 3.0.0
 654   *
 655   * @param string $active_signup String that returns registration type. The value can be
 656   *                              'all', 'none', 'blog', or 'user'.
 657   */
 658  $active_signup = apply_filters( 'wpmu_active_signup', $active_signup );
 659  
 660  // Make the signup type translatable.
 661  $i18n_signup['all'] = _x('all', 'Multisite active signup type');
 662  $i18n_signup['none'] = _x('none', 'Multisite active signup type');
 663  $i18n_signup['blog'] = _x('blog', 'Multisite active signup type');
 664  $i18n_signup['user'] = _x('user', 'Multisite active signup type');
 665  
 666  if ( is_super_admin() )
 667      echo '<div class="mu_alert">' . 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>.' ), $i18n_signup[$active_signup], esc_url( network_admin_url( 'settings.php' ) ) ) . '</div>';
 668  
 669  $newblogname = isset($_GET['new']) ? strtolower(preg_replace('/^-|-$|[^-a-zA-Z0-9]/', '', $_GET['new'])) : null;
 670  
 671  $current_user = wp_get_current_user();
 672  if ( $active_signup == 'none' ) {
 673      _e( 'Registration has been disabled.' );
 674  } elseif ( $active_signup == 'blog' && !is_user_logged_in() ) {
 675      $login_url = site_url( 'wp-login.php?redirect_to=' . urlencode( network_site_url( 'wp-signup.php' ) ) );
 676      echo sprintf( __( 'You must first <a href="%s">log in</a>, and then you can create a new site.' ), $login_url );
 677  } else {
 678      $stage = isset( $_POST['stage'] ) ?  $_POST['stage'] : 'default';
 679      switch ( $stage ) {
 680          case 'validate-user-signup' :
 681              if ( $active_signup == 'all' || $_POST[ 'signup_for' ] == 'blog' && $active_signup == 'blog' || $_POST[ 'signup_for' ] == 'user' && $active_signup == 'user' )
 682                  validate_user_signup();
 683              else
 684                  _e( 'User registration has been disabled.' );
 685          break;
 686          case 'validate-blog-signup':
 687              if ( $active_signup == 'all' || $active_signup == 'blog' )
 688                  validate_blog_signup();
 689              else
 690                  _e( 'Site registration has been disabled.' );
 691              break;
 692          case 'gimmeanotherblog':
 693              validate_another_blog_signup();
 694              break;
 695          case 'default':
 696          default :
 697              $user_email = isset( $_POST[ 'user_email' ] ) ? $_POST[ 'user_email' ] : '';
 698              /**
 699               * Fires when the site sign-up form is sent.
 700               *
 701               * @since 3.0.0
 702               */
 703              do_action( 'preprocess_signup_form' );
 704              if ( is_user_logged_in() && ( $active_signup == 'all' || $active_signup == 'blog' ) )
 705                  signup_another_blog($newblogname);
 706              elseif ( is_user_logged_in() == false && ( $active_signup == 'all' || $active_signup == 'user' ) )
 707                  signup_user( $newblogname, $user_email );
 708              elseif ( is_user_logged_in() == false && ( $active_signup == 'blog' ) )
 709                  _e( 'Sorry, new registrations are not allowed at this time.' );
 710              else
 711                  _e( 'You are logged in already. No need to register again!' );
 712  
 713              if ( $newblogname ) {
 714                  $newblog = get_blogaddress_by_name( $newblogname );
 715  
 716                  if ( $active_signup == 'blog' || $active_signup == 'all' )
 717                      printf( '<p><em>' . __( 'The site you were looking for, <strong>%s</strong>, does not exist, but you can create it now!' ) . '</em></p>', $newblog );
 718                  else
 719                      printf( '<p><em>' . __( 'The site you were looking for, <strong>%s</strong>, does not exist.' ) . '</em></p>', $newblog );
 720              }
 721              break;
 722      }
 723  }
 724  ?>
 725  </div>
 726  </div>
 727  <?php
 728  /**
 729   * Fires after the sign-up forms, before wp_footer.
 730   *
 731   * @since 3.0.0
 732   */
 733  do_action( 'after_signup_form' ); ?>
 734  
 735  <?php get_footer(); ?>


Generated: Tue Mar 25 01:41:18 2014 WordPress honlapkészítés: online1.hu