]> scripts.mit.edu Git - autoinstalls/wordpress.git/blobdiff - wp-includes/wp-diff.php
WordPress 4.5-scripts
[autoinstalls/wordpress.git] / wp-includes / wp-diff.php
index 77efd45533c27a5534cc4713d16354721e5ee729..832a62f8b33f33263f99723663010a4d4468ae1d 100644 (file)
@@ -8,7 +8,7 @@
  * @subpackage Diff
  */
 
-if ( !class_exists( 'Text_Diff' ) ) {
+if ( ! class_exists( 'Text_Diff', false ) ) {
        /** Text_Diff class */
        require( dirname(__FILE__).'/Text/Diff.php' );
        /** Text_Diff_Renderer class */
@@ -42,7 +42,7 @@ class WP_Text_Diff_Renderer_Table extends Text_Diff_Renderer {
        public $_trailing_context_lines = 10000;
 
        /**
-        * {@internal Missing Description}}
+        * Threshold for when a diff should be saved or omitted.
         *
         * @var float
         * @access protected
@@ -68,6 +68,8 @@ class WP_Text_Diff_Renderer_Table extends Text_Diff_Renderer {
         */
        protected $_show_split_view = true;
 
+       protected $compat_fields = array( '_show_split_view', 'inline_diff_renderer', '_diff_threshold' );
+
        /**
         * Constructor - Call parent constructor with params array.
         *
@@ -271,7 +273,7 @@ class WP_Text_Diff_Renderer_Table extends Text_Diff_Renderer {
                                $diff = $renderer->render( $text_diff );
 
                                // If they're too different, don't include any <ins> or <dels>
-                               if ( $diff_count = preg_match_all( '!(<ins>.*?</ins>|<del>.*?</del>)!', $diff, $diff_matches ) ) {
+                               if ( preg_match_all( '!(<ins>.*?</ins>|<del>.*?</del>)!', $diff, $diff_matches ) ) {
                                        // length of all text between <ins> or <del>
                                        $stripped_matches = strlen(strip_tags( join(' ', $diff_matches[0]) ));
                                        // since we count lengith of text between <ins> or <del> (instead of picking just one),
@@ -465,7 +467,9 @@ class WP_Text_Diff_Renderer_Table extends Text_Diff_Renderer {
         * @return mixed Property.
         */
        public function __get( $name ) {
-               return $this->$name;
+               if ( in_array( $name, $this->compat_fields ) ) {
+                       return $this->$name;
+               }
        }
 
        /**
@@ -479,7 +483,9 @@ class WP_Text_Diff_Renderer_Table extends Text_Diff_Renderer {
         * @return mixed Newly-set property.
         */
        public function __set( $name, $value ) {
-               return $this->$name = $value;
+               if ( in_array( $name, $this->compat_fields ) ) {
+                       return $this->$name = $value;
+               }
        }
 
        /**
@@ -492,7 +498,9 @@ class WP_Text_Diff_Renderer_Table extends Text_Diff_Renderer {
         * @return bool Whether the property is set.
         */
        public function __isset( $name ) {
-               return isset( $this->$name );
+               if ( in_array( $name, $this->compat_fields ) ) {
+                       return isset( $this->$name );
+               }
        }
 
        /**
@@ -504,21 +512,9 @@ class WP_Text_Diff_Renderer_Table extends Text_Diff_Renderer {
         * @param string $name Property to unset.
         */
        public function __unset( $name ) {
-               unset( $this->$name );
-       }
-
-       /**
-        * Make private/protected methods readable for backwards compatibility.
-        *
-        * @since 4.0.0
-        * @access public
-        *
-        * @param callable $name      Method to call.
-        * @param array    $arguments Arguments to pass when calling.
-        * @return mixed|bool Return value of the callback, false otherwise.
-        */
-       public function __call( $name, $arguments ) {
-               return call_user_func_array( array( $this, $name ), $arguments );
+               if ( in_array( $name, $this->compat_fields ) ) {
+                       unset( $this->$name );
+               }
        }
 }