]> scripts.mit.edu Git - autoinstalls/wordpress.git/blobdiff - wp-admin/includes/misc.php
WordPress 4.7.1-scripts
[autoinstalls/wordpress.git] / wp-admin / includes / misc.php
index d3d2d34279290c5c1bf76d40b4932c85dc00b0ec..679b9ac5d6d89dc38a3ecb81f7c817a053a2fc90 100644 (file)
@@ -17,10 +17,10 @@ function got_mod_rewrite() {
        $got_rewrite = apache_mod_loaded('mod_rewrite', true);
 
        /**
-        * Filter whether Apache and mod_rewrite are present.
+        * Filters whether Apache and mod_rewrite are present.
         *
         * This filter was previously used to force URL rewriting for other servers,
-        * like nginx. Use the got_url_rewrite filter in got_url_rewrite() instead.
+        * like nginx. Use the {@see 'got_url_rewrite'} filter in got_url_rewrite() instead.
         *
         * @since 2.5.0
         *
@@ -46,7 +46,7 @@ function got_url_rewrite() {
        $got_url_rewrite = ( got_mod_rewrite() || $GLOBALS['is_nginx'] || iis7_supports_permalinks() );
 
        /**
-        * Filter whether URL rewriting is available.
+        * Filters whether URL rewriting is available.
         *
         * @since 3.7.0
         *
@@ -133,7 +133,7 @@ function insert_with_markers( $filename, $marker, $insertion ) {
                $lines[] = rtrim( fgets( $fp ), "\r\n" );
        }
 
-       // Split out the existing file into the preceeding lines, and those that appear after the marker
+       // Split out the existing file into the preceding lines, and those that appear after the marker
        $pre_lines = $post_lines = $existing_lines = array();
        $found_marker = $found_end_marker = false;
        foreach ( $lines as $line ) {
@@ -369,7 +369,7 @@ function wp_doc_link_parse( $content ) {
        sort( $functions );
 
        /**
-        * Filter the list of functions and classes to be ignored from the documentation lookup.
+        * Filters the list of functions and classes to be ignored from the documentation lookup.
         *
         * @since 2.8.0
         *
@@ -438,7 +438,7 @@ function set_screen_options() {
                        default:
 
                                /**
-                                * Filter a screen option value before it is set.
+                                * Filters a screen option value before it is set.
                                 *
                                 * The filter can also be used to modify non-standard [items]_per_page
                                 * settings. See the parent function for a full list of standard options.
@@ -491,7 +491,7 @@ function iis7_rewrite_rule_exists($filename) {
        if ( $doc->load($filename) === false )
                return false;
        $xpath = new DOMXPath($doc);
-       $rules = $xpath->query('/configuration/system.webServer/rewrite/rules/rule[starts-with(@name,\'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 ( $rules->length == 0 )
                return false;
        else
@@ -521,7 +521,7 @@ function iis7_delete_rewrite_rule($filename) {
        if ( $doc -> load($filename) === false )
                return false;
        $xpath = new DOMXPath($doc);
-       $rules = $xpath->query('/configuration/system.webServer/rewrite/rules/rule[starts-with(@name,\'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 ( $rules->length > 0 ) {
                $child = $rules->item(0);
                $parent = $child->parentNode;
@@ -562,7 +562,7 @@ function iis7_add_rewrite_rule($filename, $rewrite_rule) {
        $xpath = new DOMXPath($doc);
 
        // First check if the rule already exists as in that case there is no need to re-add it
-       $wordpress_rules = $xpath->query('/configuration/system.webServer/rewrite/rules/rule[starts-with(@name,\'wordpress\')]');
+       $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;
 
@@ -635,6 +635,8 @@ function saveDomDocument($doc, $filename) {
  * @since 3.0.0
  *
  * @global array $_wp_admin_css_colors
+ *
+ * @param int $user_id User ID.
  */
 function admin_color_scheme_picker( $user_id ) {
        global $_wp_admin_css_colors;
@@ -708,7 +710,7 @@ function wp_color_scheme_settings() {
                $icon_colors = $_wp_admin_css_colors['fresh']->icon_colors;
        } else {
                // Fall back to the default set of icon colors if the default scheme is missing.
-               $icon_colors = array( 'base' => '#999', 'focus' => '#00a0d2', 'current' => '#fff' );
+               $icon_colors = array( 'base' => '#82878c', 'focus' => '#00a0d2', 'current' => '#fff' );
        }
 
        echo '<script type="text/javascript">var _wpColorScheme = ' . wp_json_encode( array( 'icons' => $icon_colors ) ) . ";</script>\n";
@@ -729,6 +731,11 @@ function _ipad_meta() {
  * Check lock status for posts displayed on the Posts screen
  *
  * @since 3.6.0
+ *
+ * @param array  $response  The Heartbeat response.
+ * @param array  $data      The $_POST data sent.
+ * @param string $screen_id The screen id.
+ * @return array The Heartbeat response.
  */
 function wp_check_locked_posts( $response, $data, $screen_id ) {
        $checked = array();
@@ -759,6 +766,11 @@ function wp_check_locked_posts( $response, $data, $screen_id ) {
  * Check lock status on the New/Edit Post screen and refresh the lock
  *
  * @since 3.6.0
+ *
+ * @param array  $response  The Heartbeat response.
+ * @param array  $data      The $_POST data sent.
+ * @param string $screen_id The screen id.
+ * @return array The Heartbeat response.
  */
 function wp_refresh_post_lock( $response, $data, $screen_id ) {
        if ( array_key_exists( 'wp-refresh-post-lock', $data ) ) {
@@ -797,6 +809,11 @@ function wp_refresh_post_lock( $response, $data, $screen_id ) {
  * Check nonce expiration on the New/Edit Post screen and refresh if needed
  *
  * @since 3.6.0
+ *
+ * @param array  $response  The Heartbeat response.
+ * @param array  $data      The $_POST data sent.
+ * @param string $screen_id The screen id.
+ * @return array The Heartbeat response.
  */
 function wp_refresh_post_nonces( $response, $data, $screen_id ) {
        if ( array_key_exists( 'wp-refresh-post-nonces', $data ) ) {
@@ -850,6 +867,10 @@ function wp_heartbeat_set_suspension( $settings ) {
  * Autosave with heartbeat
  *
  * @since 3.9.0
+ *
+ * @param array $response The Heartbeat response.
+ * @param array $data     The $_POST data sent.
+ * @return array The Heartbeat response.
  */
 function heartbeat_autosave( $response, $data ) {
        if ( ! empty( $data['wp_autosave'] ) ) {
@@ -860,7 +881,7 @@ function heartbeat_autosave( $response, $data ) {
                } elseif ( empty( $saved ) ) {
                        $response['wp_autosave'] = array( 'success' => false, 'message' => __( 'Error while saving.' ) );
                } else {
-                       /* translators: draft saved date format, see http://php.net/date */
+                       /* translators: draft saved date format, see https://secure.php.net/date */
                        $draft_saved_date_format = __( 'g:i:s a' );
                        /* translators: %s: date and time */
                        $response['wp_autosave'] = array( 'success' => true, 'message' => sprintf( __( 'Draft saved at %s.' ), date_i18n( $draft_saved_date_format ) ) );
@@ -870,24 +891,6 @@ function heartbeat_autosave( $response, $data ) {
        return $response;
 }
 
-/**
- * Disables autocomplete on the 'post' form (Add/Edit Post screens) for WebKit browsers,
- * as they disregard the autocomplete setting on the editor textarea. That can break the editor
- * when the user navigates to it with the browser's Back button. See #28037
- *
- * @since 4.0.0
- *
- * @global bool $is_safari
- * @global bool $is_chrome
- */
-function post_form_autocomplete_off() {
-       global $is_safari, $is_chrome;
-
-       if ( $is_safari || $is_chrome ) {
-               echo ' autocomplete="off"';
-       }
-}
-
 /**
  * Remove single-use URL parameters and create canonical link based on new URL.
  *
@@ -915,3 +918,21 @@ function wp_admin_canonical_url() {
        </script>
 <?php
 }
+
+/**
+ * Outputs JS that reloads the page if the user navigated to it with the Back or Forward button.
+ *
+ * Used on the Edit Post and Add New Post screens. Needed to ensure the page is not loaded from browser cache,
+ * so the post title and editor content are the last saved versions. Ideally this script should run first in the head.
+ *
+ * @since 4.6.0
+ */
+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
+}