wp/wp-admin/ms-delete-site.php
changeset 9 177826044cd9
parent 7 cf61fcea0001
child 16 a86126ab1dd4
equal deleted inserted replaced
8:c7c34916027a 9:177826044cd9
     7  * @since 3.0.0
     7  * @since 3.0.0
     8  */
     8  */
     9 
     9 
    10 require_once( dirname( __FILE__ ) . '/admin.php' );
    10 require_once( dirname( __FILE__ ) . '/admin.php' );
    11 
    11 
    12 if ( !is_multisite() )
    12 if ( ! is_multisite() ) {
    13 	wp_die( __( 'Multisite support is not enabled.' ) );
    13 	wp_die( __( 'Multisite support is not enabled.' ) );
       
    14 }
    14 
    15 
    15 if ( ! current_user_can( 'delete_site' ) )
    16 if ( ! current_user_can( 'delete_site' ) ) {
    16 	wp_die(__( 'Sorry, you are not allowed to delete this site.'));
    17 	wp_die( __( 'Sorry, you are not allowed to delete this site.' ) );
       
    18 }
    17 
    19 
    18 if ( isset( $_GET['h'] ) && $_GET['h'] != '' && get_option( 'delete_blog_hash' ) != false ) {
    20 if ( isset( $_GET['h'] ) && $_GET['h'] != '' && get_option( 'delete_blog_hash' ) != false ) {
    19 	if ( hash_equals( get_option( 'delete_blog_hash' ), $_GET['h'] ) ) {
    21 	if ( hash_equals( get_option( 'delete_blog_hash' ), $_GET['h'] ) ) {
    20 		wpmu_delete_blog( get_current_blog_id() );
    22 		wpmu_delete_blog( get_current_blog_id() );
    21 		wp_die( sprintf( __( 'Thank you for using %s, your site has been deleted. Happy trails to you until we meet again.' ), get_network()->site_name ) );
    23 		wp_die( sprintf( __( 'Thank you for using %s, your site has been deleted. Happy trails to you until we meet again.' ), get_network()->site_name ) );
    25 }
    27 }
    26 
    28 
    27 $blog = get_site();
    29 $blog = get_site();
    28 $user = wp_get_current_user();
    30 $user = wp_get_current_user();
    29 
    31 
    30 $title = __( 'Delete Site' );
    32 $title       = __( 'Delete Site' );
    31 $parent_file = 'tools.php';
    33 $parent_file = 'tools.php';
    32 require_once( ABSPATH . 'wp-admin/admin-header.php' );
    34 require_once( ABSPATH . 'wp-admin/admin-header.php' );
    33 
    35 
    34 echo '<div class="wrap">';
    36 echo '<div class="wrap">';
    35 echo '<h1>' . esc_html( $title ) . '</h1>';
    37 echo '<h1>' . esc_html( $title ) . '</h1>';
    43 	$url_delete = esc_url( admin_url( 'ms-delete-site.php?h=' . $hash ) );
    45 	$url_delete = esc_url( admin_url( 'ms-delete-site.php?h=' . $hash ) );
    44 
    46 
    45 	$switched_locale = switch_to_locale( get_locale() );
    47 	$switched_locale = switch_to_locale( get_locale() );
    46 
    48 
    47 	/* translators: Do not translate USERNAME, URL_DELETE, SITE_NAME: those are placeholders. */
    49 	/* translators: Do not translate USERNAME, URL_DELETE, SITE_NAME: those are placeholders. */
    48 	$content = __( "Howdy ###USERNAME###,
    50 	$content = __(
       
    51 		"Howdy ###USERNAME###,
    49 
    52 
    50 You recently clicked the 'Delete Site' link on your site and filled in a
    53 You recently clicked the 'Delete Site' link on your site and filled in a
    51 form on that page.
    54 form on that page.
    52 
    55 
    53 If you really want to delete your site, click the link below. You will not
    56 If you really want to delete your site, click the link below. You will not
    58 some time in the future! (But remember your current site and username
    61 some time in the future! (But remember your current site and username
    59 are gone forever.)
    62 are gone forever.)
    60 
    63 
    61 Thanks for using the site,
    64 Thanks for using the site,
    62 Webmaster
    65 Webmaster
    63 ###SITE_NAME###" );
    66 ###SITE_NAME###"
       
    67 	);
    64 	/**
    68 	/**
    65 	 * Filters the email content sent when a site in a Multisite network is deleted.
    69 	 * Filters the email content sent when a site in a Multisite network is deleted.
    66 	 *
    70 	 *
    67 	 * @since 3.0.0
    71 	 * @since 3.0.0
    68 	 *
    72 	 *
    72 
    76 
    73 	$content = str_replace( '###USERNAME###', $user->user_login, $content );
    77 	$content = str_replace( '###USERNAME###', $user->user_login, $content );
    74 	$content = str_replace( '###URL_DELETE###', $url_delete, $content );
    78 	$content = str_replace( '###URL_DELETE###', $url_delete, $content );
    75 	$content = str_replace( '###SITE_NAME###', get_network()->site_name, $content );
    79 	$content = str_replace( '###SITE_NAME###', get_network()->site_name, $content );
    76 
    80 
    77 	wp_mail( get_option( 'admin_email' ), "[ " . wp_specialchars_decode( get_option( 'blogname' ) ) . " ] ".__( 'Delete My Site' ), $content );
    81 	wp_mail( get_option( 'admin_email' ), '[ ' . wp_specialchars_decode( get_option( 'blogname' ) ) . ' ] ' . __( 'Delete My Site' ), $content );
    78 
    82 
    79 	if ( $switched_locale ) {
    83 	if ( $switched_locale ) {
    80 		restore_previous_locale();
    84 		restore_previous_locale();
    81 	}
    85 	}
    82 	?>
    86 	?>
    83 
    87 
    84 	<p><?php _e( 'Thank you. Please check your email for a link to confirm your action. Your site will not be deleted until this link is clicked.' ) ?></p>
    88 	<p><?php _e( 'Thank you. Please check your email for a link to confirm your action. Your site will not be deleted until this link is clicked.' ); ?></p>
    85 
    89 
    86 <?php } else {
    90 	<?php
       
    91 } else {
    87 	?>
    92 	?>
    88 	<p><?php printf( __( 'If you do not want to use your %s site any more, you can delete it using the form below. When you click <strong>Delete My Site Permanently</strong> you will be sent an email with a link in it. Click on this link to delete your site.'), get_network()->site_name); ?></p>
    93 	<p><?php printf( __( 'If you do not want to use your %s site any more, you can delete it using the form below. When you click <strong>Delete My Site Permanently</strong> you will be sent an email with a link in it. Click on this link to delete your site.' ), get_network()->site_name ); ?></p>
    89 	<p><?php _e( 'Remember, once deleted your site cannot be restored.' ) ?></p>
    94 	<p><?php _e( 'Remember, once deleted your site cannot be restored.' ); ?></p>
    90 
    95 
    91 	<form method="post" name="deletedirect">
    96 	<form method="post" name="deletedirect">
    92 		<?php wp_nonce_field( 'delete-blog' ) ?>
    97 		<?php wp_nonce_field( 'delete-blog' ); ?>
    93 		<input type="hidden" name="action" value="deleteblog" />
    98 		<input type="hidden" name="action" value="deleteblog" />
    94 		<p><input id="confirmdelete" type="checkbox" name="confirmdelete" value="1" /> <label for="confirmdelete"><strong><?php
    99 		<p><input id="confirmdelete" type="checkbox" name="confirmdelete" value="1" /> <label for="confirmdelete"><strong>
       
   100 		<?php
    95 			printf(
   101 			printf(
    96 				/* translators: %s: site address */
   102 				/* translators: %s: site address */
    97 				__( "I'm sure I want to permanently disable my site, and I am aware I can never get it back or use %s again." ),
   103 				__( "I'm sure I want to permanently disable my site, and I am aware I can never get it back or use %s again." ),
    98 				$blog->domain . $blog->path
   104 				$blog->domain . $blog->path
    99 			);
   105 			);
   100 		?></strong></label></p>
   106 		?>
       
   107 		</strong></label></p>
   101 		<?php submit_button( __( 'Delete My Site Permanently' ) ); ?>
   108 		<?php submit_button( __( 'Delete My Site Permanently' ) ); ?>
   102 	</form>
   109 	</form>
   103  	<?php
   110 	<?php
   104 }
   111 }
   105 echo '</div>';
   112 echo '</div>';
   106 
   113 
   107 include( ABSPATH . 'wp-admin/admin-footer.php' );
   114 include( ABSPATH . 'wp-admin/admin-footer.php' );