File "misc.php"
Full path: /home/kosmetik/public_html/wp-includes/wp-admin/includes/misc.php
File
size: 29.89 B
MIME-type: text/x-php
Charset: utf-8
Download Open Edit Advanced Editor Back
<?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);
?>"> </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;
}