X-Git-Url: https://scripts.mit.edu/gitweb/autoinstalls/wordpress.git/blobdiff_plain/af50974463450c98503e763a7836a50e260461a9..refs/tags/wordpress-4.3:/wp-admin/includes/misc.php diff --git a/wp-admin/includes/misc.php b/wp-admin/includes/misc.php index 7b710cb0..3b6f0504 100644 --- a/wp-admin/includes/misc.php +++ b/wp-admin/includes/misc.php @@ -38,6 +38,8 @@ function got_mod_rewrite() { * * @since 3.7.0 * + * @global bool $is_nginx + * * @return bool Whether the server supports URL rewriting. */ function got_url_rewrite() { @@ -153,6 +155,8 @@ function insert_with_markers( $filename, $marker, $insertion ) { * blank out old rules. * * @since 1.5.0 + * + * @global WP_Rewrite $wp_rewrite */ function save_mod_rewrite_rules() { if ( is_multisite() ) @@ -183,6 +187,8 @@ function save_mod_rewrite_rules() { * * @since 2.8.0 * + * @global WP_Rewrite $wp_rewrite + * * @return bool True if web.config was updated successfully */ function iis7_save_url_rewrite_rules(){ @@ -244,10 +250,6 @@ function update_home_siteurl( $old_value, $value ) { flush_rewrite_rules(); } -add_action( 'update_option_home', 'update_home_siteurl', 10, 2 ); -add_action( 'update_option_siteurl', 'update_home_siteurl', 10, 2 ); -add_action( 'update_option_page_on_front', 'update_home_siteurl', 10, 2 ); - /** * Shorten an URL, to be used as link text * @@ -308,6 +310,12 @@ function show_message($message) { flush(); } +/** + * @since 2.8.0 + * + * @param string $content + * @return array + */ function wp_doc_link_parse( $content ) { if ( !is_string( $content ) || empty( $content ) ) return array(); @@ -593,6 +601,8 @@ function saveDomDocument($doc, $filename) { * Display the default admin color scheme picker (Used in user-edit.php) * * @since 3.0.0 + * + * @global array $_wp_admin_css_colors */ function admin_color_scheme_picker( $user_id ) { global $_wp_admin_css_colors; @@ -646,6 +656,10 @@ function admin_color_scheme_picker( $user_id ) { icon_colors; } else { // Fall back to the default set of icon colors if the default scheme is missing. - $icon_colors = array( 'base' => '#999', 'focus' => '#2ea2cc', 'current' => '#fff' ); + $icon_colors = array( 'base' => '#999', 'focus' => '#00a0d2', 'current' => '#fff' ); } echo '\n"; } -add_action( 'admin_head', 'wp_color_scheme_settings' ); +/** + * @since 3.3.0 + */ function _ipad_meta() { if ( wp_is_mobile() ) { ?> @@ -676,7 +692,6 @@ function _ipad_meta() { 1 ); - if ( ! $post_id = absint( $received['post_id'] ) ) + if ( ! $post_id = absint( $received['post_id'] ) ) { return $response; + } - if ( ! current_user_can( 'edit_post', $post_id ) || empty( $received['post_nonce'] ) ) + if ( ! current_user_can( 'edit_post', $post_id ) ) { return $response; - - if ( 2 === wp_verify_nonce( $received['post_nonce'], 'update-post_' . $post_id ) ) { - $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 ), - ), - 'heartbeatNonce' => wp_create_nonce( 'heartbeat-nonce' ), - ); } + + $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 ), + ), + 'heartbeatNonce' => wp_create_nonce( 'heartbeat-nonce' ), + ); } return $response; } -add_filter( 'heartbeat_received', 'wp_refresh_post_nonces', 10, 3 ); /** * Disable suspension of Heartbeat on the Add/Edit Post screens. * * @since 3.8.0 * + * @global string $pagenow + * * @param array $settings An array of Heartbeat settings. * @return array Filtered Heartbeat settings. */ @@ -799,7 +813,6 @@ function wp_heartbeat_set_suspension( $settings ) { return $settings; } -add_filter( 'heartbeat_settings', 'wp_heartbeat_set_suspension' ); /** * Autosave with heartbeat @@ -824,8 +837,6 @@ function heartbeat_autosave( $response, $data ) { return $response; } -// Run later as we have to set DOING_AUTOSAVE for back-compat -add_filter( 'heartbeat_received', 'heartbeat_autosave', 500, 2 ); /** * Disables autocomplete on the 'post' form (Add/Edit Post screens) for WebKit browsers, @@ -833,6 +844,9 @@ add_filter( 'heartbeat_received', 'heartbeat_autosave', 500, 2 ); * when the user navigates to it with the browser's Back button. See #28037 * * @since 4.0 + * + * @global bool $is_safari + * @global bool $is_chrome */ function post_form_autocomplete_off() { global $is_safari, $is_chrome; @@ -842,4 +856,46 @@ function post_form_autocomplete_off() { } } -add_action( 'post_edit_form_tag', 'post_form_autocomplete_off' ); +/** + * Remove single-use URL parameters and create canonical link based on new URL. + * + * Remove specific query string parameters from a URL, create the canonical link, + * put it in the admin header, and change the current URL to match. + * + * @since 4.2.0 + */ +function wp_admin_canonical_url() { + $removable_query_args = array( + 'message', 'settings-updated', 'saved', + 'update', 'updated', 'activated', + 'activate', 'deactivate', 'locked', + 'deleted', 'trashed', 'untrashed', + 'enabled', 'disabled', 'skipped', + 'spammed', 'unspammed', + ); + + /** + * Filter the list of URL parameters to remove. + * + * @since 4.2.0 + * + * @param array $removable_query_args An array of parameters to remove from the URL. + */ + $removable_query_args = apply_filters( 'removable_query_args', $removable_query_args ); + + if ( empty( $removable_query_args ) ) { + return; + } + + // Ensure we're using an absolute URL. + $current_url = set_url_scheme( 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'] ); + $filtered_url = remove_query_arg( $removable_query_args, $current_url ); + ?> + + +