File "site-new.php"
Full path: /home/kosmetik/public_html/wp-includes/wp-admin/network/site-new.php
File
size: 7.91 B
MIME-type: text/x-php
Charset: utf-8
Download Open Edit Advanced Editor Back
<?php
require_once __DIR__ . '/admin.php';
require_once ABSPATH . 'wp-admin/includes/translation-install.php';
if (!current_user_can('create_sites')) {
wp_die(__('Sorry, you are not allowed 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="https://wordpress.org/support/article/network-admin-sites-screen/">Documentation on Site Management</a>') . '</p>' . '<p>' . __('<a href="https://wordpress.org/support/forum/multisite/">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’t create an empty site.'));
}
$blog = $_POST['blog'];
$domain = '';
$blog['domain'] = trim($blog['domain']);
if (preg_match('|^([a-zA-Z0-9-])+$|', $blog['domain'])) {
$domain = strtolower($blog['domain']);
}
if (!is_subdomain_install()) {
$subdirectory_reserved_names = get_subdirectory_reserved_names();
if (in_array($domain, $subdirectory_reserved_names, true)) {
wp_die(sprintf(__('The following words are reserved for use by WordPress functions and cannot be used as blog names: %s'), '<code>' . implode('</code>, <code>', $subdirectory_reserved_names) . '</code>'));
}
}
$title = $blog['title'];
$meta = array('public' => 1);
if (isset($_POST['WPLANG'])) {
if ('' === $_POST['WPLANG']) {
$meta['WPLANG'] = '';
} elseif (in_array($_POST['WPLANG'], get_available_languages(), true)) {
$meta['WPLANG'] = $_POST['WPLANG'];
} elseif (current_user_can('install_languages') && wp_can_install_language_pack()) {
$language = wp_download_language_pack(wp_unslash($_POST['WPLANG']));
if ($language) {
$meta['WPLANG'] = $language;
}
}
}
if (empty($domain)) {
wp_die(__('Missing or invalid site address.'));
}
if (isset($blog['email']) && '' === trim($blog['email'])) {
wp_die(__('Missing email address.'));
}
$email = sanitize_email($blog['email']);
if (!is_email($email)) {
wp_die(__('Invalid email address.'));
}
if (is_subdomain_install()) {
$newdomain = $domain . '.' . preg_replace('|^www\\.|', '', get_network()->domain);
$path = get_network()->path;
} else {
$newdomain = get_network()->domain;
$path = get_network()->path . $domain . '/';
}
$password = 'N/A';
$user_id = email_exists($email);
if (!$user_id) {
do_action('pre_network_site_new_created_user', $email);
$user_id = username_exists($domain);
if ($user_id) {
wp_die(__('The domain or path entered conflicts with an existing username.'));
}
$password = wp_generate_password(12, false);
$user_id = wpmu_create_user($domain, $password, $email);
if (false === $user_id) {
wp_die(__('There was an error creating the user.'));
}
do_action('network_site_new_created_user', $user_id);
}
$wpdb->hide_errors();
$id = wpmu_create_blog($newdomain, $path, $title, $user_id, $meta, get_current_network_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', $id, true);
}
wpmu_new_site_admin_notification($id, $user_id);
wpmu_welcome_notification($id, $user_id, $password, $title, array('public' => 1));
wp_redirect(add_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_url(get_admin_url(absint($_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_once ABSPATH . 'wp-admin/admin-header.php';
?>
<div class="wrap">
<h1 id="add-new-site"><?php
_e('Add New Site');
?></h1>
<?php
if (!empty($messages)) {
foreach ($messages as $msg) {
echo '<div id="message" class="updated notice is-dismissible"><p>' . $msg . '</p></div>';
}
}
?>
<p>
<?php
printf(__('Required fields are marked %s'), '<span class="required">*</span>');
?>
</p>
<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" role="presentation">
<tr class="form-field form-required">
<th scope="row"><label for="site-address"><?php
_e('Site Address (URL)');
?> <span class="required">*</span></label></th>
<td>
<?php
if (is_subdomain_install()) {
?>
<input name="blog[domain]" type="text" class="regular-text ltr" id="site-address" aria-describedby="site-address-desc" autocapitalize="none" autocorrect="off" required /><span class="no-break">.<?php
echo preg_replace('|^www\\.|', '', get_network()->domain);
?></span>
<?php
} else {
echo get_network()->domain . get_network()->path;
?>
<input name="blog[domain]" type="text" class="regular-text ltr" id="site-address" aria-describedby="site-address-desc" autocapitalize="none" autocorrect="off" required />
<?php
}
echo '<p class="description" id="site-address-desc">' . __('Only lowercase letters (a-z), numbers, and hyphens are allowed.') . '</p>';
?>
</td>
</tr>
<tr class="form-field form-required">
<th scope="row"><label for="site-title"><?php
_e('Site Title');
?> <span class="required">*</span></label></th>
<td><input name="blog[title]" type="text" class="regular-text" id="site-title" required /></td>
</tr>
<?php
$languages = get_available_languages();
$translations = wp_get_available_translations();
if (!empty($languages) || !empty($translations)) {
?>
<tr class="form-field form-required">
<th scope="row"><label for="site-language"><?php
_e('Site Language');
?></label></th>
<td>
<?php
$lang = get_site_option('WPLANG');
if (!in_array($lang, $languages, true)) {
$lang = '';
}
wp_dropdown_languages(array('name' => 'WPLANG', 'id' => 'site-language', 'selected' => $lang, 'languages' => $languages, 'translations' => $translations, 'show_available_translations' => current_user_can('install_languages') && wp_can_install_language_pack()));
?>
</td>
</tr>
<?php
}
?>
<tr class="form-field form-required">
<th scope="row"><label for="admin-email"><?php
_e('Admin Email');
?> <span class="required">*</span></label></th>
<td><input name="blog[email]" type="email" class="regular-text wp-suggest-user" id="admin-email" data-autocomplete-type="search" data-autocomplete-field="user_email" aria-describedby="site-admin-email" required /></td>
</tr>
<tr class="form-field">
<td colspan="2" class="td-full"><p id="site-admin-email"><?php
_e('A new user will be created if the above email address is not in the database.');
?><br /><?php
_e('The username and a link to set the password will be mailed to this email address.');
?></p></td>
</tr>
</table>
<?php
do_action('network_site_new_form');
submit_button(__('Add Site'), 'primary', 'add-site');
?>
</form>
</div>
<?php
require_once ABSPATH . 'wp-admin/admin-footer.php';