Revert r37663 for now:
authorBrion Vibber <brion@users.mediawiki.org>
Tue, 15 Jul 2008 21:13:34 +0000 (21:13 +0000)
committerBrion Vibber <brion@users.mediawiki.org>
Tue, 15 Jul 2008 21:13:34 +0000 (21:13 +0000)
"* (bug 13815) In the comment for page moves, use the colon-separator message instead of a hardcoded colon."
"* So that this works properly, don't escape HTML entities in edit summaries.  I don't see any good reason for them to be escaped there.  Of course, this may result in old edit summaries displaying slightly differently if for some reason they included an entity, but in that case there's at least a 50% chance that they intended it to not be escaped in the first place."

This breaks the ability to easily discuss entities in summaries such as "add &nbsp;".

RELEASE-NOTES
includes/GlobalFunctions.php
includes/Linker.php
includes/Sanitizer.php
includes/Title.php

index 7c7be85..22e89c2 100644 (file)
@@ -189,9 +189,6 @@ it from source control: http://www.mediawiki.org/wiki/Download_from_SVN
 * (bug 9736) Redirects on Special:Fewestrevisions are now marked as such.
 * New date/time formats in Cs localization according to ČSN and PČP.
 * Added new hook LinkerLinkAttributes for modifying attributes of <a> tags.
-* HTML entities like &nbsp; now work (are not escaped) in edit summaries.
-* (bug 13815) In the comment for page moves, use the colon-separator message
-  instead of a hardcoded colon.
 * Add a new hook SkinSetupSiteCss to allow extensions to define new stylesheets
   to load site wide, or modify the list of stylesheets to load. This can be useful
   for wiki farms who need a specific placement of the stylesheets to cascade right.
index d90c612..56a313f 100644 (file)
@@ -628,7 +628,9 @@ function wfMsgExt( $key, $options ) {
        if ( in_array('escape', $options) ) {
                $string = htmlspecialchars ( $string );
        } elseif ( in_array( 'escapenoentities', $options ) ) {
-               $string = Sanitizer::escapeHtmlAllowEntities( $string );
+               $string = htmlspecialchars( $string );
+               $string = str_replace( '&amp;', '&', $string );
+               $string = Sanitizer::normalizeCharReferences( $string );
        }
 
        if( in_array('replaceafter', $options) ) {
index 864c145..af5636d 100644 (file)
@@ -1046,8 +1046,7 @@ class Linker {
 
                # Sanitize text a bit:
                $comment = str_replace( "\n", " ", $comment );
-               # Allow HTML entities (for bug 13815)
-               $comment = Sanitizer::escapeHtmlAllowEntities( $comment );
+               $comment = htmlspecialchars( $comment );
 
                # Render autocomments and make links:
                $comment = $this->formatAutoComments( $comment, $title, $local );
index 4d5b89c..28b1c27 100644 (file)
@@ -826,22 +826,6 @@ class Sanitizer {
                        $class ), '_');
        }
 
-       /**
-        * Given HTML input, escape with htmlspecialchars but un-escape entites.
-        * This allows (generally harmless) entities like &nbsp; to survive.
-        *
-        * @param  string $html String to escape
-        * @return string Escaped input
-        */
-       static function escapeHtmlAllowEntities( $html ) {
-               # It seems wise to escape ' as well as ", as a matter of course.  Can't
-               # hurt.
-               $html = htmlspecialchars( $html, ENT_QUOTES );
-               $html = str_replace( '&amp;', '&', $html );
-               $html = Sanitizer::normalizeCharReferences( $html );
-               return $html;
-       }
-
        /**
         * Regex replace callback for armoring links against further processing.
         * @param array $matches
index d0b593c..b64d2c9 100644 (file)
@@ -2718,9 +2718,7 @@ class Title {
                $fname = 'MovePageForm::moveToNewTitle';
                $comment = wfMsgForContent( '1movedto2', $this->getPrefixedText(), $nt->getPrefixedText() );
                if ( $reason ) {
-                       $comment .= wfMsgExt( 'colon-separator',
-                               array( 'escapenoentities', 'content' ) );
-                       $comment .= $reason;
+                       $comment .= ": $reason";
                }
 
                $newid = $nt->getArticleID();