<?php

function got_mod_rewrite()
{
    $got_rewrite = apache_mod_loaded('mod_rewrite', true);
    return apply_filters('got_rewrite', $got_rewrite);
}
function got_url_rewrite()
{
    $got_url_rewrite = got_mod_rewrite() || $GLOBALS['is_nginx'] || iis7_supports_permalinks();
    return apply_filters('got_url_rewrite', $got_url_rewrite);
}
function extract_from_markers($filename, $marker)
{
    $result = array();
    if (!file_exists($filename)) {
        return $result;
    }
    $markerdata = explode("\n", implode('', file($filename)));
    $state = false;
    foreach ($markerdata as $markerline) {
        if (false !== strpos($markerline, '# END ' . $marker)) {
            $state = false;
        }
        if ($state) {
            if ('#' === substr($markerline, 0, 1)) {
                continue;
            }
            $result[] = $markerline;
        }
        if (false !== strpos($markerline, '# BEGIN ' . $marker)) {
            $state = true;
        }
    }
    return $result;
}
function insert_with_markers($filename, $marker, $insertion)
{
    if (!file_exists($filename)) {
        if (!is_writable(dirname($filename))) {
            return false;
        }
        if (!touch($filename)) {
            return false;
        }
        $perms = fileperms($filename);
        if ($perms) {
            chmod($filename, $perms | 0644);
        }
    } elseif (!is_writable($filename)) {
        return false;
    }
    if (!is_array($insertion)) {
        $insertion = explode("\n", $insertion);
    }
    $switched_locale = switch_to_locale(get_locale());
    $instructions = sprintf(__('The directives (lines) between "BEGIN %1$s" and "END %1$s" are
dynamically generated, and should only be modified via WordPress filters.
Any changes to the directives between these markers will be overwritten.'), $marker);
    $instructions = explode("\n", $instructions);
    foreach ($instructions as $line => $text) {
        $instructions[$line] = '# ' . $text;
    }
    $instructions = apply_filters('insert_with_markers_inline_instructions', $instructions, $marker);
    if ($switched_locale) {
        restore_previous_locale();
    }
    $insertion = array_merge($instructions, $insertion);
    $start_marker = "# BEGIN {$marker}";
    $end_marker = "# END {$marker}";
    $fp = fopen($filename, 'r+');
    if (!$fp) {
        return false;
    }
    flock($fp, LOCK_EX);
    $lines = array();
    while (!feof($fp)) {
        $lines[] = rtrim(fgets($fp), "\r\n");
    }
    $pre_lines = array();
    $post_lines = array();
    $existing_lines = array();
    $found_marker = false;
    $found_end_marker = false;
    foreach ($lines as $line) {
        if (!$found_marker && false !== strpos($line, $start_marker)) {
            $found_marker = true;
            continue;
        } elseif (!$found_end_marker && false !== strpos($line, $end_marker)) {
            $found_end_marker = true;
            continue;
        }
        if (!$found_marker) {
            $pre_lines[] = $line;
        } elseif ($found_marker && $found_end_marker) {
            $post_lines[] = $line;
        } else {
            $existing_lines[] = $line;
        }
    }
    if ($existing_lines === $insertion) {
        flock($fp, LOCK_UN);
        fclose($fp);
        return true;
    }
    $new_file_data = implode("\n", array_merge($pre_lines, array($start_marker), $insertion, array($end_marker), $post_lines));
    fseek($fp, 0);
    $bytes = fwrite($fp, $new_file_data);
    if ($bytes) {
        ftruncate($fp, ftell($fp));
    }
    fflush($fp);
    flock($fp, LOCK_UN);
    fclose($fp);
    return (bool) $bytes;
}
function save_mod_rewrite_rules()
{
    if (is_multisite()) {
        return;
    }
    global $wp_rewrite;
    require_once ABSPATH . 'wp-admin/includes/file.php';
    $home_path = get_home_path();
    $htaccess_file = $home_path . '.htaccess';
    if (!file_exists($htaccess_file) && is_writable($home_path) && $wp_rewrite->using_mod_rewrite_permalinks() || is_writable($htaccess_file)) {
        if (got_mod_rewrite()) {
            $rules = explode("\n", $wp_rewrite->mod_rewrite_rules());
            return insert_with_markers($htaccess_file, 'WordPress', $rules);
        }
    }
    return false;
}
function iis7_save_url_rewrite_rules()
{
    if (is_multisite()) {
        return;
    }
    global $wp_rewrite;
    require_once ABSPATH . 'wp-admin/includes/file.php';
    $home_path = get_home_path();
    $web_config_file = $home_path . 'web.config';
    if (iis7_supports_permalinks() && (!file_exists($web_config_file) && win_is_writable($home_path) && $wp_rewrite->using_mod_rewrite_permalinks() || win_is_writable($web_config_file))) {
        $rule = $wp_rewrite->iis7_url_rewrite_rules(false);
        if (!empty($rule)) {
            return iis7_add_rewrite_rule($web_config_file, $rule);
        } else {
            return iis7_delete_rewrite_rule($web_config_file);
        }
    }
    return false;
}
function update_recently_edited($file)
{
    $oldfiles = (array) get_option('recently_edited');
    if ($oldfiles) {
        $oldfiles = array_reverse($oldfiles);
        $oldfiles[] = $file;
        $oldfiles = array_reverse($oldfiles);
        $oldfiles = array_unique($oldfiles);
        if (5 < count($oldfiles)) {
            array_pop($oldfiles);
        }
    } else {
        $oldfiles[] = $file;
    }
    update_option('recently_edited', $oldfiles);
}
function wp_make_theme_file_tree($allowed_files)
{
    $tree_list = array();
    foreach ($allowed_files as $file_name => $absolute_filename) {
        $list = explode('/', $file_name);
        $last_dir =& $tree_list;
        foreach ($list as $dir) {
            $last_dir =& $last_dir[$dir];
        }
        $last_dir = $file_name;
    }
    return $tree_list;
}
function wp_print_theme_file_tree($tree, $level = 2, $size = 1, $index = 1)
{
    global $relative_file, $stylesheet;
    if (is_array($tree)) {
        $index = 0;
        $size = count($tree);
        foreach ($tree as $label => $theme_file) {
            $index++;
            if (!is_array($theme_file)) {
                wp_print_theme_file_tree($theme_file, $level, $index, $size);
                continue;
            }
            ?>
			<li role="treeitem" aria-expanded="true" tabindex="-1"
				aria-level="<?php 
            echo esc_attr($level);
            ?>"
				aria-setsize="<?php 
            echo esc_attr($size);
            ?>"
				aria-posinset="<?php 
            echo esc_attr($index);
            ?>">
				<span class="folder-label"><?php 
            echo esc_html($label);
            ?> <span class="screen-reader-text"><?php 
            _e('folder');
            ?></span><span aria-hidden="true" class="icon"></span></span>
				<ul role="group" class="tree-folder"><?php 
            wp_print_theme_file_tree($theme_file, $level + 1, $index, $size);
            ?></ul>
			</li>
			<?php 
        }
    } else {
        $filename = $tree;
        $url = add_query_arg(array('file' => rawurlencode($tree), 'theme' => rawurlencode($stylesheet)), self_admin_url('theme-editor.php'));
        ?>
		<li role="none" class="<?php 
        echo esc_attr($relative_file === $filename ? 'current-file' : '');
        ?>">
			<a role="treeitem" tabindex="<?php 
        echo esc_attr($relative_file === $filename ? '0' : '-1');
        ?>"
				href="<?php 
        echo esc_url($url);
        ?>"
				aria-level="<?php 
        echo esc_attr($level);
        ?>"
				aria-setsize="<?php 
        echo esc_attr($size);
        ?>"
				aria-posinset="<?php 
        echo esc_attr($index);
        ?>">
				<?php 
        $file_description = esc_html(get_file_description($filename));
        if ($file_description !== $filename && wp_basename($filename) !== $file_description) {
            $file_description .= '<br /><span class="nonessential">(' . esc_html($filename) . ')</span>';
        }
        if ($relative_file === $filename) {
            echo '<span class="notice notice-info">' . $file_description . '</span>';
        } else {
            echo $file_description;
        }
        ?>
			</a>
		</li>
		<?php 
    }
}
function wp_make_plugin_file_tree($plugin_editable_files)
{
    $tree_list = array();
    foreach ($plugin_editable_files as $plugin_file) {
        $list = explode('/', preg_replace('#^.+?/#', '', $plugin_file));
        $last_dir =& $tree_list;
        foreach ($list as $dir) {
            $last_dir =& $last_dir[$dir];
        }
        $last_dir = $plugin_file;
    }
    return $tree_list;
}
function wp_print_plugin_file_tree($tree, $label = '', $level = 2, $size = 1, $index = 1)
{
    global $file, $plugin;
    if (is_array($tree)) {
        $index = 0;
        $size = count($tree);
        foreach ($tree as $label => $plugin_file) {
            $index++;
            if (!is_array($plugin_file)) {
                wp_print_plugin_file_tree($plugin_file, $label, $level, $index, $size);
                continue;
            }
            ?>
			<li role="treeitem" aria-expanded="true" tabindex="-1"
				aria-level="<?php 
            echo esc_attr($level);
            ?>"
				aria-setsize="<?php 
            echo esc_attr($size);
            ?>"
				aria-posinset="<?php 
            echo esc_attr($index);
            ?>">
				<span class="folder-label"><?php 
            echo esc_html($label);
            ?> <span class="screen-reader-text"><?php 
            _e('folder');
            ?></span><span aria-hidden="true" class="icon"></span></span>
				<ul role="group" class="tree-folder"><?php 
            wp_print_plugin_file_tree($plugin_file, '', $level + 1, $index, $size);
            ?></ul>
			</li>
			<?php 
        }
    } else {
        $url = add_query_arg(array('file' => rawurlencode($tree), 'plugin' => rawurlencode($plugin)), self_admin_url('plugin-editor.php'));
        ?>
		<li role="none" class="<?php 
        echo esc_attr($file === $tree ? 'current-file' : '');
        ?>">
			<a role="treeitem" tabindex="<?php 
        echo esc_attr($file === $tree ? '0' : '-1');
        ?>"
				href="<?php 
        echo esc_url($url);
        ?>"
				aria-level="<?php 
        echo esc_attr($level);
        ?>"
				aria-setsize="<?php 
        echo esc_attr($size);
        ?>"
				aria-posinset="<?php 
        echo esc_attr($index);
        ?>">
				<?php 
        if ($file === $tree) {
            echo '<span class="notice notice-info">' . esc_html($label) . '</span>';
        } else {
            echo esc_html($label);
        }
        ?>
			</a>
		</li>
		<?php 
    }
}
function update_home_siteurl($old_value, $value)
{
    if (wp_installing()) {
        return;
    }
    if (is_multisite() && ms_is_switched()) {
        delete_option('rewrite_rules');
    } else {
        flush_rewrite_rules();
    }
}
function wp_reset_vars($vars)
{
    foreach ($vars as $var) {
        if (empty($_POST[$var])) {
            if (empty($_GET[$var])) {
                $GLOBALS[$var] = '';
            } else {
                $GLOBALS[$var] = $_GET[$var];
            }
        } else {
            $GLOBALS[$var] = $_POST[$var];
        }
    }
}
function show_message($message)
{
    if (is_wp_error($message)) {
        if ($message->get_error_data() && is_string($message->get_error_data())) {
            $message = $message->get_error_message() . ': ' . $message->get_error_data();
        } else {
            $message = $message->get_error_message();
        }
    }
    echo "<p>{$message}</p>\n";
    wp_ob_end_flush_all();
    flush();
}
function wp_doc_link_parse($content)
{
    if (!is_string($content) || empty($content)) {
        return array();
    }
    if (!function_exists('token_get_all')) {
        return array();
    }
    $tokens = token_get_all($content);
    $count = count($tokens);
    $functions = array();
    $ignore_functions = array();
    for ($t = 0; $t < $count - 2; $t++) {
        if (!is_array($tokens[$t])) {
            continue;
        }
        if (T_STRING == $tokens[$t][0] && ('(' === $tokens[$t + 1] || '(' === $tokens[$t + 2])) {
            if (isset($tokens[$t - 2][1]) && in_array($tokens[$t - 2][1], array('function', 'class'), true) || isset($tokens[$t - 2][0]) && T_OBJECT_OPERATOR == $tokens[$t - 1][0]) {
                $ignore_functions[] = $tokens[$t][1];
            }
            $functions[] = $tokens[$t][1];
        }
    }
    $functions = array_unique($functions);
    sort($functions);
    $ignore_functions = apply_filters('documentation_ignore_functions', $ignore_functions);
    $ignore_functions = array_unique($ignore_functions);
    $out = array();
    foreach ($functions as $function) {
        if (in_array($function, $ignore_functions, true)) {
            continue;
        }
        $out[] = $function;
    }
    return $out;
}
function set_screen_options()
{
    if (isset($_POST['wp_screen_options']) && is_array($_POST['wp_screen_options'])) {
        check_admin_referer('screen-options-nonce', 'screenoptionnonce');
        $user = wp_get_current_user();
        if (!$user) {
            return;
        }
        $option = $_POST['wp_screen_options']['option'];
        $value = $_POST['wp_screen_options']['value'];
        if (sanitize_key($option) != $option) {
            return;
        }
        $map_option = $option;
        $type = str_replace('edit_', '', $map_option);
        $type = str_replace('_per_page', '', $type);
        if (in_array($type, get_taxonomies(), true)) {
            $map_option = 'edit_tags_per_page';
        } elseif (in_array($type, get_post_types(), true)) {
            $map_option = 'edit_per_page';
        } else {
            $option = str_replace('-', '_', $option);
        }
        switch ($map_option) {
            case 'edit_per_page':
            case 'users_per_page':
            case 'edit_comments_per_page':
            case 'upload_per_page':
            case 'edit_tags_per_page':
            case 'plugins_per_page':
            case 'export_personal_data_requests_per_page':
            case 'remove_personal_data_requests_per_page':
            case 'sites_network_per_page':
            case 'users_network_per_page':
            case 'site_users_network_per_page':
            case 'plugins_network_per_page':
            case 'themes_network_per_page':
            case 'site_themes_network_per_page':
                $value = (int) $value;
                if ($value < 1 || $value > 999) {
                    return;
                }
                break;
            default:
                $screen_option = false;
                if ('_page' === substr($option, -5) || 'layout_columns' === $option) {
                    $screen_option = apply_filters('set-screen-option', $screen_option, $option, $value);
                }
                $value = apply_filters("set_screen_option_{$option}", $screen_option, $option, $value);
                if (false === $value) {
                    return;
                }
                break;
        }
        update_user_meta($user->ID, $option, $value);
        $url = remove_query_arg(array('pagenum', 'apage', 'paged'), wp_get_referer());
        if (isset($_POST['mode'])) {
            $url = add_query_arg(array('mode' => $_POST['mode']), $url);
        }
        wp_safe_redirect($url);
        exit;
    }
}
function iis7_rewrite_rule_exists($filename)
{
    if (!file_exists($filename)) {
        return false;
    }
    if (!class_exists('DOMDocument', false)) {
        return false;
    }
    $doc = new DOMDocument();
    if ($doc->load($filename) === false) {
        return false;
    }
    $xpath = new DOMXPath($doc);
    $rules = $xpath->query('/configuration/system.webServer/rewrite/rules/rule[starts-with(@name,\'wordpress\')] | /configuration/system.webServer/rewrite/rules/rule[starts-with(@name,\'WordPress\')]');
    if (0 == $rules->length) {
        return false;
    } else {
        return true;
    }
}
function iis7_delete_rewrite_rule($filename)
{
    if (!file_exists($filename)) {
        return true;
    }
    if (!class_exists('DOMDocument', false)) {
        return false;
    }
    $doc = new DOMDocument();
    $doc->preserveWhiteSpace = false;
    if ($doc->load($filename) === false) {
        return false;
    }
    $xpath = new DOMXPath($doc);
    $rules = $xpath->query('/configuration/system.webServer/rewrite/rules/rule[starts-with(@name,\'wordpress\')] | /configuration/system.webServer/rewrite/rules/rule[starts-with(@name,\'WordPress\')]');
    if ($rules->length > 0) {
        $child = $rules->item(0);
        $parent = $child->parentNode;
        $parent->removeChild($child);
        $doc->formatOutput = true;
        saveDomDocument($doc, $filename);
    }
    return true;
}
function iis7_add_rewrite_rule($filename, $rewrite_rule)
{
    if (!class_exists('DOMDocument', false)) {
        return false;
    }
    if (!file_exists($filename)) {
        $fp = fopen($filename, 'w');
        fwrite($fp, '<configuration/>');
        fclose($fp);
    }
    $doc = new DOMDocument();
    $doc->preserveWhiteSpace = false;
    if ($doc->load($filename) === false) {
        return false;
    }
    $xpath = new DOMXPath($doc);
    $wordpress_rules = $xpath->query('/configuration/system.webServer/rewrite/rules/rule[starts-with(@name,\'wordpress\')] | /configuration/system.webServer/rewrite/rules/rule[starts-with(@name,\'WordPress\')]');
    if ($wordpress_rules->length > 0) {
        return true;
    }
    $xmlnodes = $xpath->query('/configuration/system.webServer/rewrite/rules');
    if ($xmlnodes->length > 0) {
        $rules_node = $xmlnodes->item(0);
    } else {
        $rules_node = $doc->createElement('rules');
        $xmlnodes = $xpath->query('/configuration/system.webServer/rewrite');
        if ($xmlnodes->length > 0) {
            $rewrite_node = $xmlnodes->item(0);
            $rewrite_node->appendChild($rules_node);
        } else {
            $rewrite_node = $doc->createElement('rewrite');
            $rewrite_node->appendChild($rules_node);
            $xmlnodes = $xpath->query('/configuration/system.webServer');
            if ($xmlnodes->length > 0) {
                $system_webServer_node = $xmlnodes->item(0);
                $system_webServer_node->appendChild($rewrite_node);
            } else {
                $system_webServer_node = $doc->createElement('system.webServer');
                $system_webServer_node->appendChild($rewrite_node);
                $xmlnodes = $xpath->query('/configuration');
                if ($xmlnodes->length > 0) {
                    $config_node = $xmlnodes->item(0);
                    $config_node->appendChild($system_webServer_node);
                } else {
                    $config_node = $doc->createElement('configuration');
                    $doc->appendChild($config_node);
                    $config_node->appendChild($system_webServer_node);
                }
            }
        }
    }
    $rule_fragment = $doc->createDocumentFragment();
    $rule_fragment->appendXML($rewrite_rule);
    $rules_node->appendChild($rule_fragment);
    $doc->encoding = 'UTF-8';
    $doc->formatOutput = true;
    saveDomDocument($doc, $filename);
    return true;
}
function saveDomDocument($doc, $filename)
{
    $config = $doc->saveXML();
    $config = preg_replace("/([^\r])\n/", "\$1\r\n", $config);
    $fp = fopen($filename, 'w');
    fwrite($fp, $config);
    fclose($fp);
}
function admin_color_scheme_picker($user_id)
{
    global $_wp_admin_css_colors;
    ksort($_wp_admin_css_colors);
    if (isset($_wp_admin_css_colors['fresh'])) {
        $_wp_admin_css_colors = array_filter(array_merge(array('fresh' => '', 'light' => '', 'modern' => ''), $_wp_admin_css_colors));
    }
    $current_color = get_user_option('admin_color', $user_id);
    if (empty($current_color) || !isset($_wp_admin_css_colors[$current_color])) {
        $current_color = 'fresh';
    }
    ?>
	<fieldset id="color-picker" class="scheme-list">
		<legend class="screen-reader-text"><span><?php 
    _e('Admin Color Scheme');
    ?></span></legend>
		<?php 
    wp_nonce_field('save-color-scheme', 'color-nonce', false);
    foreach ($_wp_admin_css_colors as $color => $color_info) {
        ?>
			<div class="color-option <?php 
        echo $color == $current_color ? 'selected' : '';
        ?>">
				<input name="admin_color" id="admin_color_<?php 
        echo esc_attr($color);
        ?>" type="radio" value="<?php 
        echo esc_attr($color);
        ?>" class="tog" <?php 
        checked($color, $current_color);
        ?> />
				<input type="hidden" class="css_url" value="<?php 
        echo esc_url($color_info->url);
        ?>" />
				<input type="hidden" class="icon_colors" value="<?php 
        echo esc_attr(wp_json_encode(array('icons' => $color_info->icon_colors)));
        ?>" />
				<label for="admin_color_<?php 
        echo esc_attr($color);
        ?>"><?php 
        echo esc_html($color_info->name);
        ?></label>
				<table class="color-palette">
					<tr>
					<?php 
        foreach ($color_info->colors as $html_color) {
            ?>
						<td style="background-color: <?php 
            echo esc_attr($html_color);
            ?>">&nbsp;</td>
						<?php 
        }
        ?>
					</tr>
				</table>
			</div>
			<?php 
    }
    ?>
	</fieldset>
	<?php 
}
function wp_color_scheme_settings()
{
    global $_wp_admin_css_colors;
    $color_scheme = get_user_option('admin_color');
    if (empty($_wp_admin_css_colors[$color_scheme])) {
        $color_scheme = 'fresh';
    }
    if (!empty($_wp_admin_css_colors[$color_scheme]->icon_colors)) {
        $icon_colors = $_wp_admin_css_colors[$color_scheme]->icon_colors;
    } elseif (!empty($_wp_admin_css_colors['fresh']->icon_colors)) {
        $icon_colors = $_wp_admin_css_colors['fresh']->icon_colors;
    } else {
        $icon_colors = array('base' => '#a7aaad', 'focus' => '#72aee6', 'current' => '#fff');
    }
    echo '<script type="text/javascript">var _wpColorScheme = ' . wp_json_encode(array('icons' => $icon_colors)) . ";</script>\n";
}
function wp_admin_viewport_meta()
{
    $viewport_meta = apply_filters('admin_viewport_meta', 'width=device-width,initial-scale=1.0');
    if (empty($viewport_meta)) {
        return;
    }
    echo '<meta name="viewport" content="' . esc_attr($viewport_meta) . '">';
}
function _customizer_mobile_viewport_meta($viewport_meta)
{
    return trim($viewport_meta, ',') . ',minimum-scale=0.5,maximum-scale=1.2';
}
function wp_check_locked_posts($response, $data, $screen_id)
{
    $checked = array();
    if (array_key_exists('wp-check-locked-posts', $data) && is_array($data['wp-check-locked-posts'])) {
        foreach ($data['wp-check-locked-posts'] as $key) {
            $post_id = absint(substr($key, 5));
            if (!$post_id) {
                continue;
            }
            $user_id = wp_check_post_lock($post_id);
            if ($user_id) {
                $user = get_userdata($user_id);
                if ($user && current_user_can('edit_post', $post_id)) {
                    $send = array('text' => sprintf(__('%s is currently editing'), $user->display_name));
                    if (get_option('show_avatars')) {
                        $send['avatar_src'] = get_avatar_url($user->ID, array('size' => 18));
                        $send['avatar_src_2x'] = get_avatar_url($user->ID, array('size' => 36));
                    }
                    $checked[$key] = $send;
                }
            }
        }
    }
    if (!empty($checked)) {
        $response['wp-check-locked-posts'] = $checked;
    }
    return $response;
}
function wp_refresh_post_lock($response, $data, $screen_id)
{
    if (array_key_exists('wp-refresh-post-lock', $data)) {
        $received = $data['wp-refresh-post-lock'];
        $send = array();
        $post_id = absint($received['post_id']);
        if (!$post_id) {
            return $response;
        }
        if (!current_user_can('edit_post', $post_id)) {
            return $response;
        }
        $user_id = wp_check_post_lock($post_id);
        $user = get_userdata($user_id);
        if ($user) {
            $error = array('text' => sprintf(__('%s has taken over and is currently editing.'), $user->display_name));
            if (get_option('show_avatars')) {
                $error['avatar_src'] = get_avatar_url($user->ID, array('size' => 64));
                $error['avatar_src_2x'] = get_avatar_url($user->ID, array('size' => 128));
            }
            $send['lock_error'] = $error;
        } else {
            $new_lock = wp_set_post_lock($post_id);
            if ($new_lock) {
                $send['new_lock'] = implode(':', $new_lock);
            }
        }
        $response['wp-refresh-post-lock'] = $send;
    }
    return $response;
}
function wp_refresh_post_nonces($response, $data, $screen_id)
{
    if (array_key_exists('wp-refresh-post-nonces', $data)) {
        $received = $data['wp-refresh-post-nonces'];
        $response['wp-refresh-post-nonces'] = array('check' => 1);
        $post_id = absint($received['post_id']);
        if (!$post_id) {
            return $response;
        }
        if (!current_user_can('edit_post', $post_id)) {
            return $response;
        }
        $response['wp-refresh-post-nonces'] = array('replace' => array('getpermalinknonce' => wp_create_nonce('getpermalink'), 'samplepermalinknonce' => wp_create_nonce('samplepermalink'), 'closedpostboxesnonce' => wp_create_nonce('closedpostboxes'), '_ajax_linking_nonce' => wp_create_nonce('internal-linking'), '_wpnonce' => wp_create_nonce('update-post_' . $post_id)));
    }
    return $response;
}
function wp_refresh_heartbeat_nonces($response)
{
    $response['rest_nonce'] = wp_create_nonce('wp_rest');
    $response['heartbeat_nonce'] = wp_create_nonce('heartbeat-nonce');
    return $response;
}
function wp_heartbeat_set_suspension($settings)
{
    global $pagenow;
    if ('post.php' === $pagenow || 'post-new.php' === $pagenow) {
        $settings['suspension'] = 'disable';
    }
    return $settings;
}
function heartbeat_autosave($response, $data)
{
    if (!empty($data['wp_autosave'])) {
        $saved = wp_autosave($data['wp_autosave']);
        if (is_wp_error($saved)) {
            $response['wp_autosave'] = array('success' => false, 'message' => $saved->get_error_message());
        } elseif (empty($saved)) {
            $response['wp_autosave'] = array('success' => false, 'message' => __('Error while saving.'));
        } else {
            $draft_saved_date_format = __('g:i:s a');
            $response['wp_autosave'] = array('success' => true, 'message' => sprintf(__('Draft saved at %s.'), date_i18n($draft_saved_date_format)));
        }
    }
    return $response;
}
function wp_admin_canonical_url()
{
    $removable_query_args = wp_removable_query_args();
    if (empty($removable_query_args)) {
        return;
    }
    $current_url = set_url_scheme('http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']);
    $filtered_url = remove_query_arg($removable_query_args, $current_url);
    ?>
	<link id="wp-admin-canonical" rel="canonical" href="<?php 
    echo esc_url($filtered_url);
    ?>" />
	<script>
		if ( window.history.replaceState ) {
			window.history.replaceState( null, null, document.getElementById( 'wp-admin-canonical' ).href + window.location.hash );
		}
	</script>
	<?php 
}
function wp_admin_headers()
{
    $policy = 'strict-origin-when-cross-origin';
    $policy = apply_filters('admin_referrer_policy', $policy);
    header(sprintf('Referrer-Policy: %s', $policy));
}
function wp_page_reload_on_back_button_js()
{
    ?>
	<script>
		if ( typeof performance !== 'undefined' && performance.navigation && performance.navigation.type === 2 ) {
			document.location.reload( true );
		}
	</script>
	<?php 
}
function update_option_new_admin_email($old_value, $value)
{
    if (get_option('admin_email') === $value || !is_email($value)) {
        return;
    }
    $hash = md5($value . time() . wp_rand());
    $new_admin_email = array('hash' => $hash, 'newemail' => $value);
    update_option('adminhash', $new_admin_email);
    $switched_locale = switch_to_locale(get_user_locale());
    $email_text = __('Howdy ###USERNAME###,

You recently requested to have the administration email address on
your site changed.

If this is correct, please click on the following link to change it:
###ADMIN_URL###

You can safely ignore and delete this email if you do not want to
take this action.

This email has been sent to ###EMAIL###

Regards,
All at ###SITENAME###
###SITEURL###');
    $content = apply_filters('new_admin_email_content', $email_text, $new_admin_email);
    $current_user = wp_get_current_user();
    $content = str_replace('###USERNAME###', $current_user->user_login, $content);
    $content = str_replace('###ADMIN_URL###', esc_url(self_admin_url('options.php?adminhash=' . $hash)), $content);
    $content = str_replace('###EMAIL###', $value, $content);
    $content = str_replace('###SITENAME###', wp_specialchars_decode(get_option('blogname'), ENT_QUOTES), $content);
    $content = str_replace('###SITEURL###', home_url(), $content);
    wp_mail($value, sprintf(__('[%s] New Admin Email Address'), wp_specialchars_decode(get_option('blogname'), ENT_QUOTES)), $content);
    if ($switched_locale) {
        restore_previous_locale();
    }
}
function _wp_privacy_settings_filter_draft_page_titles($title, $page)
{
    if ('draft' === $page->post_status && 'privacy' === get_current_screen()->id) {
        $title = sprintf(__('%s (Draft)'), $title);
    }
    return $title;
}
function wp_check_php_version()
{
    $version = phpversion();
    $key = md5($version);
    $response = get_site_transient('php_check_' . $key);
    if (false === $response) {
        $url = 'http://api.wordpress.org/core/serve-happy/1.0/';
        if (wp_http_supports(array('ssl'))) {
            $url = set_url_scheme($url, 'https');
        }
        $url = add_query_arg('php_version', $version, $url);
        $response = wp_remote_get($url);
        if (is_wp_error($response) || 200 !== wp_remote_retrieve_response_code($response)) {
            return false;
        }
        $response = json_decode(wp_remote_retrieve_body($response), true);
        if (!is_array($response)) {
            return false;
        }
        set_site_transient('php_check_' . $key, $response, WEEK_IN_SECONDS);
    }
    if (isset($response['is_acceptable']) && $response['is_acceptable']) {
        $response['is_acceptable'] = (bool) apply_filters('wp_is_php_version_acceptable', true, $version);
    }
    return $response;
}