* Revert r103476, r105161 and implement the fix for bug 32858 (a.k.a. bug 32450)...
authorTim Starling <tstarling@users.mediawiki.org>
Fri, 9 Dec 2011 10:32:55 +0000 (10:32 +0000)
committerTim Starling <tstarling@users.mediawiki.org>
Fri, 9 Dec 2011 10:32:55 +0000 (10:32 +0000)
* Clarified release notes. Please write what the new code does, not the bug description.

RELEASE-NOTES-1.19
includes/WikiPage.php
includes/parser/Parser.php
tests/parser/parserTests.txt

index 69b1087..6d56f6e 100644 (file)
@@ -156,7 +156,8 @@ production.
 * (bug 32168) Add wfAssembleUrl for use in wfExpandUrl.
 * (bug 32168) fixed - wfExpandUrl expands dot segments now.
 * (bug 31535) Upload comments now truncated properly, and don't have brackets.
-* (bug 32450) Scripts pages in MediaWiki: namespace parse [[Category:#]] links.
+* (bug 32858) Do not register links, categories, etc. from CSS/JS pages in the
+  database.
 * (bug 32086) Special:PermanentLink now show an error message when no subpage
   was specified.
 * (bug 30368) Special:Newpages now shows the new page name for moved pages.
index ed66879..939eee6 100644 (file)
@@ -2018,7 +2018,18 @@ class WikiPage extends Page {
                $edit->newText = $text;
                $edit->pst = $wgParser->preSaveTransform( $text, $this->mTitle, $user, $popts );
                $edit->popts = $this->makeParserOptions( 'canonical' );
-               $edit->output = $wgParser->parse( $edit->pst, $this->mTitle, $edit->popts, true, true, $revid );
+
+               // Bug 32858: For a CSS/JS page, put a blank parser output into the 
+               // prepared edit, so that links etc. won't be registered in the 
+               // database. We could have set $edit->output to false or something if 
+               // we thought of this bug earlier, but now that would break the 
+               // interface with AbuseFilter etc.
+               if ( $this->mTitle->isCssOrJsPage() || $this->getTitle()->isCssJsSubpage() ) {
+                       $input = '';
+               } else {
+                       $input = $edit->pst;
+               }
+               $edit->output = $wgParser->parse( $input, $this->mTitle, $edit->popts, true, true, $revid );
                $edit->oldText = $this->getRawText();
 
                $this->mPreparedEdit = $edit;
index 33a728b..c3d8aa3 100644 (file)
@@ -1643,12 +1643,6 @@ class Parser {
         * @private
         */
        function replaceInternalLinks( $s ) {
-               if( $this->getTitle()->isCssOrJsPage() ) {
-                       # bug 32450 : js and script pages in MediaWiki: namespace do not want
-                       # to get their code or comments altered. Think about js string:
-                       # var foobar = "[[Category:" + $catname + "]];
-                       return $s;
-               }
                $this->mLinkHolders->merge( $this->replaceInternalLinks2( $s ) );
                return $s;
        }
index d2fb44e..9dc3a91 100644 (file)
@@ -8993,28 +8993,6 @@ title=[[Main Page]]
 
 !! end
 
-!! test
-Bug 32450: MediaWiki: js pages should ignore Category syntax
-!! options
-title=[[MediaWiki:bug32450.js]]
-!! input
-var foo = "[[Category:bug32450]]"
-!! result
-<p>var foo = "[[Category:bug32450]]"
-</p>
-!! end
-
-!! test
-Bug 32450: MediaWiki: css pages should ignore Category syntax
-!! options
-title=[[MediaWiki:bug32450.css]]
-!! input
-/** Css comment: "[[Category:bug32450]]" */
-!! result
-<p>/** Css comment: "[[Category:bug32450]]" */
-</p>
-!! end
-
 TODO:
 more images
 more tables