/var/www/(Del)hsihk.com/wp-admin/network/site-new.php


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
<?php
/**
 * Add Site Administration Screen
 *
 * @package WordPress
 * @subpackage Multisite
 * @since 3.1.0
 */

/** Load WordPress Administration Bootstrap */
require_once( dirname__FILE__ ) . '/admin.php' );

if ( ! 
is_multisite() )
    
wp_die__'Multisite support is not enabled.' ) );

if ( ! 
current_user_can'manage_sites' ) )
    
wp_die__'You do not have sufficient permissions to add sites to this network.' ) );

    
get_current_screen()->add_help_tab( array(
        
'id'      => 'overview',
        
'title'   => __('Overview'),
        
'content' =>
            
'<p>' __('This screen is for Super Admins to add new sites to the network. This is not affected by the registration settings.') . '</p>' .
            
'<p>' __('If the admin email for the new site does not exist in the database, a new user will also be created.') . '</p>'
) );

get_current_screen()->set_help_sidebar(
    
'<p><strong>' __('For more information:') . '</strong></p>' .
    
'<p>' __('<a href="http://codex.wordpress.org/Network_Admin_Sites_Screen" target="_blank">Documentation on Site Management</a>') . '</p>' .
    
'<p>' __('<a href="https://wordpress.org/support/forum/multisite/" target="_blank">Support Forums</a>') . '</p>'
);

if ( isset(
$_REQUEST['action']) && 'add-site' == $_REQUEST['action'] ) {
    
check_admin_referer'add-blog''_wpnonce_add-blog' );

    if ( ! 
is_array$_POST['blog'] ) )
        
wp_die__'Can&#8217;t create an empty site.' ) );

    
$blog $_POST['blog'];
    
$domain '';
    if ( 
preg_match'|^([a-zA-Z0-9-])+$|'$blog['domain'] ) )
        
$domain strtolower$blog['domain'] );

    
// If not a subdomain install, make sure the domain isn't a reserved word
    
if ( ! is_subdomain_install() ) {
        
/** This filter is documented in wp-includes/ms-functions.php */
        
$subdirectory_reserved_names apply_filters'subdirectory_reserved_names', array( 'page''comments''blog''files''feed' ) );
        if ( 
in_array$domain$subdirectory_reserved_names ) )
            
wp_diesprintf__('The following words are reserved for use by WordPress functions and cannot be used as blog names: <code>%s</code>' ), implode'</code>, <code>'$subdirectory_reserved_names ) ) );
    }

    
$email sanitize_email$blog['email'] );
    
$title $blog['title'];

    if ( empty( 
$domain ) )
        
wp_die__'Missing or invalid site address.' ) );
    if ( empty( 
$email ) )
        
wp_die__'Missing email address.' ) );
    if ( !
is_email$email ) )
        
wp_die__'Invalid email address.' ) );

    if ( 
is_subdomain_install() ) {
        
$newdomain $domain '.' preg_replace'|^www\.|'''$current_site->domain );
        
$path      $current_site->path;
    } else {
        
$newdomain $current_site->domain;
        
$path      $current_site->path $domain '/';
    }

    
$password 'N/A';
    
$user_id email_exists($email);
    if ( !
$user_id ) { // Create a new user with a random password
        
$password wp_generate_password12false );
        
$user_id wpmu_create_user$domain$password$email );
        if ( 
false == $user_id )
            
wp_die__'There was an error creating the user.' ) );
        else
            
wp_new_user_notification$user_id$password );
    }

    
$wpdb->hide_errors();
    
$id wpmu_create_blog$newdomain$path$title$user_id , array( 'public' => ), $current_site->id );
    
$wpdb->show_errors();
    if ( !
is_wp_error$id ) ) {
        if ( !
is_super_admin$user_id ) && !get_user_option'primary_blog'$user_id ) )
            
update_user_option$user_id'primary_blog'$idtrue );
        
$content_mail sprintf__'New site created by %1$s

Address: %2$s
Name: %3$s' 
), $current_user->user_login get_site_url$id ), wp_unslash$title ) );
        
wp_mailget_site_option('admin_email'), sprintf__'[%s] New Site Created' ), $current_site->site_name ), $content_mail'From: "Site Admin" <' get_site_option'admin_email' ) . '>' );
        
wpmu_welcome_notification$id$user_id$password$title, array( 'public' => ) );
        
wp_redirectadd_query_arg( array( 'update' => 'added''id' => $id ), 'site-new.php' ) );
        exit;
    } else {
        
wp_die$id->get_error_message() );
    }
}

if ( isset(
$_GET['update']) ) {
    
$messages = array();
    if ( 
'added' == $_GET['update'] )
        
$messages[] = sprintf__'Site added. <a href="%1$s">Visit Dashboard</a> or <a href="%2$s">Edit Site</a>' ), esc_urlget_admin_urlabsint$_GET['id'] ) ) ), network_admin_url'site-info.php?id=' absint$_GET['id'] ) ) );
}

$title __('Add New Site');
$parent_file 'sites.php';

wp_enqueue_script'user-suggest' );

require( 
ABSPATH 'wp-admin/admin-header.php' );

?>

<div class="wrap">
<h2 id="add-new-site"><?php _e('Add New Site'?></h2>
<?php
if ( ! empty( $messages ) ) {
    foreach ( 
$messages as $msg )
        echo 
'<div id="message" class="updated"><p>' $msg '</p></div>';
?>
<form method="post" action="<?php echo network_admin_url'site-new.php?action=add-site' ); ?>" novalidate="novalidate">
<?php wp_nonce_field'add-blog''_wpnonce_add-blog' ?>
    <table class="form-table">
        <tr class="form-field form-required">
            <th scope="row"><?php _e'Site Address' ?></th>
            <td>
            <?php if ( is_subdomain_install() ) { ?>
                <input name="blog[domain]" type="text" class="regular-text" title="<?php esc_attr_e'Domain' ?>"/><span class="no-break">.<?php echo preg_replace'|^www\.|'''$current_site->domain ); ?></span>
            <?php } else {
                echo 
$current_site->domain $current_site->path ?><input name="blog[domain]" class="regular-text" type="text" title="<?php esc_attr_e'Domain' ?>"/>
            <?php }
            echo 
'<p>' __'Only lowercase letters (a-z) and numbers are allowed.' ) . '</p>';
            
?>
            </td>
        </tr>
        <tr class="form-field form-required">
            <th scope="row"><?php _e'Site Title' ?></th>
            <td><input name="blog[title]" type="text" class="regular-text" title="<?php esc_attr_e'Title' ?>"/></td>
        </tr>
        <tr class="form-field form-required">
            <th scope="row"><?php _e'Admin Email' ?></th>
            <td><input name="blog[email]" type="email" class="regular-text wp-suggest-user" data-autocomplete-type="search" data-autocomplete-field="user_email" title="<?php esc_attr_e'Email' ?>"/></td>
        </tr>
        <tr class="form-field">
            <td colspan="2"><?php _e'A new user will be created if the above email address is not in the database.' ?><br /><?php _e'The username and password will be mailed to this email address.' ?></td>
        </tr>
    </table>
    <?php submit_button__('Add Site'), 'primary''add-site' ); ?>
    </form>
</div>
<?php
require( ABSPATH 'wp-admin/admin-footer.php' );