http://www.mediawiki.org/wiki/Special:Code/MediaWiki/94967

Revision: 94967
Author:   reedy
Date:     2011-08-18 23:37:04 +0000 (Thu, 18 Aug 2011)
Log Message:
-----------
* (bug 30450) Clear page_props table on page deletion

Also clear them on a move over redirect

Modified delete() calls in doDeleteArticle to pass __METHOD__ for the function 
name

Modified Paths:
--------------
    trunk/phase3/RELEASE-NOTES-1.19
    trunk/phase3/includes/Title.php
    trunk/phase3/includes/WikiPage.php

Modified: trunk/phase3/RELEASE-NOTES-1.19
===================================================================
--- trunk/phase3/RELEASE-NOTES-1.19     2011-08-18 23:36:24 UTC (rev 94966)
+++ trunk/phase3/RELEASE-NOTES-1.19     2011-08-18 23:37:04 UTC (rev 94967)
@@ -44,6 +44,7 @@
   language. In theory this sets the right magic words in system messages,
   although they are not used there.
 * (bug 30451) Add page_props to RefreshLinks::deleteLinksFromNonexistent
+* (bug 30450) Clear page_props table on page deletion
 
 === Bug fixes in 1.19 ===
 * $wgUploadNavigationUrl should be used for file redlinks if

Modified: trunk/phase3/includes/Title.php
===================================================================
--- trunk/phase3/includes/Title.php     2011-08-18 23:36:24 UTC (rev 94966)
+++ trunk/phase3/includes/Title.php     2011-08-18 23:37:04 UTC (rev 94967)
@@ -839,12 +839,12 @@
 
                # Hand off all the decisions on urls to getLocalURL
                $url = $this->getLocalURL( $query, $variant );
-               
+
                # Expand the url to make it a full url. Note that getLocalURL 
has the
                # potential to output full urls for a variety of reasons, so we 
use
                # wfExpandUrl instead of simply prepending $wgServer
                $url = wfExpandUrl( $url, PROTO_RELATIVE );
-               
+
                # Finally, add the fragment.
                $url .= $this->getFragmentForURL();
 
@@ -923,7 +923,7 @@
                                        $url = 
"{$wgScript}?title={$dbkey}&{$query}";
                                }
                        }
-                       
+
                        wfRunHooks( 'GetLocalURL::Internal', array( &$this, 
&$url, $query, $variant ) );
 
                        // @todo FIXME: This causes breakage in various places 
when we
@@ -1930,7 +1930,7 @@
 
        /**
         * Does that page contain wikitext, or it is JS, CSS or whatever?
-        * 
+        *
         * @return Bool
         */
        public function isWikitextPage() {
@@ -3306,6 +3306,7 @@
                                $dbw->delete( 'externallinks', array( 'el_from' 
=> $newid ), __METHOD__ );
                                $dbw->delete( 'langlinks', array( 'll_from' => 
$newid ), __METHOD__ );
                                $dbw->delete( 'redirect', array( 'rd_from' => 
$newid ), __METHOD__ );
+                               $dbw->delete( 'page_props', array( 'pp_page' => 
$newid ), __METHOD__ );
                        }
                        // If the target page was recently created, it may have 
an entry in recentchanges still
                        $dbw->delete( 'recentchanges',

Modified: trunk/phase3/includes/WikiPage.php
===================================================================
--- trunk/phase3/includes/WikiPage.php  2011-08-18 23:36:24 UTC (rev 94966)
+++ trunk/phase3/includes/WikiPage.php  2011-08-18 23:37:04 UTC (rev 94967)
@@ -1695,18 +1695,20 @@
                if ( !$dbw->cascadingDeletes() ) {
                        $dbw->delete( 'revision', array( 'rev_page' => $id ), 
__METHOD__ );
 
-                       if ( $wgUseTrackbacks )
+                       if ( $wgUseTrackbacks ) {
                                $dbw->delete( 'trackbacks', array( 'tb_page' => 
$id ), __METHOD__ );
+                       }
 
                        # Delete outgoing links
-                       $dbw->delete( 'pagelinks', array( 'pl_from' => $id ) );
-                       $dbw->delete( 'imagelinks', array( 'il_from' => $id ) );
-                       $dbw->delete( 'categorylinks', array( 'cl_from' => $id 
) );
-                       $dbw->delete( 'templatelinks', array( 'tl_from' => $id 
) );
-                       $dbw->delete( 'externallinks', array( 'el_from' => $id 
) );
-                       $dbw->delete( 'langlinks', array( 'll_from' => $id ) );
-                       $dbw->delete( 'iwlinks', array( 'iwl_from' => $id ) );
-                       $dbw->delete( 'redirect', array( 'rd_from' => $id ) );
+                       $dbw->delete( 'pagelinks', array( 'pl_from' => $id ), 
__METHOD__ );
+                       $dbw->delete( 'imagelinks', array( 'il_from' => $id ), 
__METHOD__ );
+                       $dbw->delete( 'categorylinks', array( 'cl_from' => $id 
), __METHOD__ );
+                       $dbw->delete( 'templatelinks', array( 'tl_from' => $id 
), __METHOD__ );
+                       $dbw->delete( 'externallinks', array( 'el_from' => $id 
), __METHOD__ );
+                       $dbw->delete( 'langlinks', array( 'll_from' => $id ), 
__METHOD__ );
+                       $dbw->delete( 'iwlinks', array( 'iwl_from' => $id ), 
__METHOD__ );
+                       $dbw->delete( 'redirect', array( 'rd_from' => $id ), 
__METHOD__ );
+                       $dbw->delete( 'page_props', array( 'pp_page' => $id ), 
__METHOD__ );
                }
 
                # If using cleanup triggers, we can skip some manual deletes


_______________________________________________
MediaWiki-CVS mailing list
MediaWiki-CVS@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-cvs

Reply via email to