File "site-info.php"

Full path: /home/kosmetik/public_html/wp-includes/wp-admin/network/site-info.php
File size: 6.21 B
MIME-type: text/x-php
Charset: utf-8

Download   Open   Edit   Advanced Editor   Back

<?php

require_once __DIR__ . '/admin.php';
if (!current_user_can('manage_sites')) {
    wp_die(__('Sorry, you are not allowed to edit this site.'));
}
get_current_screen()->add_help_tab(get_site_screen_help_tab_args());
get_current_screen()->set_help_sidebar(get_site_screen_help_sidebar_content());
$id = isset($_REQUEST['id']) ? (int) $_REQUEST['id'] : 0;
if (!$id) {
    wp_die(__('Invalid site ID.'));
}
$details = get_site($id);
if (!$details) {
    wp_die(__('The requested site does not exist.'));
}
if (!can_edit_network($details->site_id)) {
    wp_die(__('Sorry, you are not allowed to access this page.'), 403);
}
$parsed_scheme = parse_url($details->siteurl, PHP_URL_SCHEME);
$is_main_site = is_main_site($id);
if (isset($_REQUEST['action']) && 'update-site' === $_REQUEST['action']) {
    check_admin_referer('edit-site');
    switch_to_blog($id);
    delete_option('rewrite_rules');
    $blog_data = wp_unslash($_POST['blog']);
    $blog_data['scheme'] = $parsed_scheme;
    if ($is_main_site) {
        $blog_data['domain'] = $details->domain;
        $blog_data['path'] = $details->path;
    } else {
        $new_url_scheme = parse_url($blog_data['url'], PHP_URL_SCHEME);
        if (!$new_url_scheme) {
            $blog_data['url'] = esc_url($parsed_scheme . '://' . $blog_data['url']);
        }
        $update_parsed_url = parse_url($blog_data['url']);
        if (!isset($update_parsed_url['path'])) {
            $update_parsed_url['path'] = '/';
        }
        $blog_data['scheme'] = $update_parsed_url['scheme'];
        $blog_data['domain'] = $update_parsed_url['host'];
        $blog_data['path'] = $update_parsed_url['path'];
    }
    $existing_details = get_site($id);
    $blog_data_checkboxes = array('public', 'archived', 'spam', 'mature', 'deleted');
    foreach ($blog_data_checkboxes as $c) {
        if (!in_array((int) $existing_details->{$c}, array(0, 1), true)) {
            $blog_data[$c] = $existing_details->{$c};
        } else {
            $blog_data[$c] = isset($_POST['blog'][$c]) ? 1 : 0;
        }
    }
    update_blog_details($id, $blog_data);
    $new_details = get_site($id);
    $old_home_url = trailingslashit(esc_url(get_option('home')));
    $old_home_parsed = parse_url($old_home_url);
    if ($old_home_parsed['host'] === $existing_details->domain && $old_home_parsed['path'] === $existing_details->path) {
        $new_home_url = untrailingslashit(esc_url_raw($blog_data['scheme'] . '://' . $new_details->domain . $new_details->path));
        update_option('home', $new_home_url);
    }
    $old_site_url = trailingslashit(esc_url(get_option('siteurl')));
    $old_site_parsed = parse_url($old_site_url);
    if ($old_site_parsed['host'] === $existing_details->domain && $old_site_parsed['path'] === $existing_details->path) {
        $new_site_url = untrailingslashit(esc_url_raw($blog_data['scheme'] . '://' . $new_details->domain . $new_details->path));
        update_option('siteurl', $new_site_url);
    }
    restore_current_blog();
    wp_redirect(add_query_arg(array('update' => 'updated', 'id' => $id), 'site-info.php'));
    exit;
}
if (isset($_GET['update'])) {
    $messages = array();
    if ('updated' === $_GET['update']) {
        $messages[] = __('Site info updated.');
    }
}
$title = sprintf(__('Edit Site: %s'), esc_html($details->blogname));
$parent_file = 'sites.php';
$submenu_file = 'sites.php';
require_once ABSPATH . 'wp-admin/admin-header.php';
?>

<div class="wrap">
<h1 id="edit-site"><?php 
echo $title;
?></h1>
<p class="edit-site-actions"><a href="<?php 
echo esc_url(get_home_url($id, '/'));
?>"><?php 
_e('Visit');
?></a> | <a href="<?php 
echo esc_url(get_admin_url($id));
?>"><?php 
_e('Dashboard');
?></a></p>
<?php 
network_edit_site_nav(array('blog_id' => $id, 'selected' => 'site-info'));
if (!empty($messages)) {
    foreach ($messages as $msg) {
        echo '<div id="message" class="updated notice is-dismissible"><p>' . $msg . '</p></div>';
    }
}
?>
<form method="post" action="site-info.php?action=update-site">
	<?php 
wp_nonce_field('edit-site');
?>
	<input type="hidden" name="id" value="<?php 
echo esc_attr($id);
?>" />
	<table class="form-table" role="presentation">
		<?php 
if ($is_main_site) {
    ?>
		<tr class="form-field">
			<th scope="row"><?php 
    _e('Site Address (URL)');
    ?></th>
			<td><?php 
    echo esc_url($parsed_scheme . '://' . $details->domain . $details->path);
    ?></td>
		</tr>
			<?php 
} else {
    ?>
		<tr class="form-field form-required">
			<th scope="row"><label for="url"><?php 
    _e('Site Address (URL)');
    ?></label></th>
			<td><input name="blog[url]" type="text" id="url" value="<?php 
    echo $parsed_scheme . '://' . esc_attr($details->domain) . esc_attr($details->path);
    ?>" /></td>
		</tr>
		<?php 
}
?>

		<tr class="form-field">
			<th scope="row"><label for="blog_registered"><?php 
_ex('Registered', 'site');
?></label></th>
			<td><input name="blog[registered]" type="text" id="blog_registered" value="<?php 
echo esc_attr($details->registered);
?>" /></td>
		</tr>
		<tr class="form-field">
			<th scope="row"><label for="blog_last_updated"><?php 
_e('Last Updated');
?></label></th>
			<td><input name="blog[last_updated]" type="text" id="blog_last_updated" value="<?php 
echo esc_attr($details->last_updated);
?>" /></td>
		</tr>
		<?php 
$attribute_fields = array('public' => _x('Public', 'site'));
if (!$is_main_site) {
    $attribute_fields['archived'] = __('Archived');
    $attribute_fields['spam'] = _x('Spam', 'site');
    $attribute_fields['deleted'] = __('Deleted');
}
$attribute_fields['mature'] = __('Mature');
?>
		<tr>
			<th scope="row"><?php 
_e('Attributes');
?></th>
			<td>
			<fieldset>
			<legend class="screen-reader-text"><?php 
_e('Set site attributes');
?></legend>
			<?php 
foreach ($attribute_fields as $field_key => $field_label) {
    ?>
				<label><input type="checkbox" name="blog[<?php 
    echo $field_key;
    ?>]" value="1" <?php 
    checked((bool) $details->{$field_key}, true);
    ?> <?php 
    disabled(!in_array((int) $details->{$field_key}, array(0, 1), true));
    ?> />
				<?php 
    echo $field_label;
    ?></label><br/>
			<?php 
}
?>
			<fieldset>
			</td>
		</tr>
	</table>

	<?php 
do_action('network_site_info_form', $id);
submit_button();
?>
</form>

</div>
<?php 
require_once ABSPATH . 'wp-admin/admin-footer.php';