http://www.mediawiki.org/wiki/Special:Code/MediaWiki/93793
Revision: 93793 Author: jlemley Date: 2011-08-03 03:22:55 +0000 (Wed, 03 Aug 2011) Log Message: ----------- Fixed move and delete bugs. Modified Paths: -------------- trunk/extensions/Favorites/FavoritedItem.php trunk/extensions/Favorites/Favorites.php Modified: trunk/extensions/Favorites/FavoritedItem.php =================================================================== --- trunk/extensions/Favorites/FavoritedItem.php 2011-08-03 00:19:27 UTC (rev 93792) +++ trunk/extensions/Favorites/FavoritedItem.php 2011-08-03 03:22:55 UTC (rev 93793) @@ -126,6 +126,12 @@ # Note that multi-row replace is very efficient for MySQL but may be inefficient for # some other DBMSes, mostly due to poor simulation by us $dbw->replace( 'favoritelist', array( array( 'fl_user', 'fl_namespace', 'fl_title' ) ), $values, __METHOD__ ); + + # Delete the old item - we don't need to have the old page on the list of favorites. + $dbw->delete('favoritelist', array( + 'fl_namespace' => $oldnamespace, + 'fl_title' => $oldtitle), + $fname = 'Database::delete'); return true; } } Modified: trunk/extensions/Favorites/Favorites.php =================================================================== --- trunk/extensions/Favorites/Favorites.php 2011-08-03 00:19:27 UTC (rev 93792) +++ trunk/extensions/Favorites/Favorites.php 2011-08-03 03:22:55 UTC (rev 93793) @@ -22,7 +22,7 @@ 'name' => 'Favorites', 'author' => 'Jeremy Lemley', 'descriptionmsg' => 'favorites-desc', - 'version' => '0.0.7', + 'version' => '0.1.0', 'url' => "http://www.mediawiki.org/wiki/Extension:Favorites", ); @@ -55,8 +55,9 @@ //add or remove $wgHooks['UnknownAction'][] = 'fnAction'; -//handle page moves +//handle page moves and deletes $wgHooks['TitleMoveComplete'][] = 'fnHookMoveToFav'; +$wgHooks['ArticleDeleteComplete'][] = 'fnHookDeleteFav'; //add CSS $wgHooks['BeforePageDisplay'][] = 'fnAddCss'; @@ -96,6 +97,14 @@ return true; } +function fnHookDeleteFav(&$article, &$user, $reason, $id ){ + $dbw = wfGetDB( DB_MASTER ); + $dbw->delete('favoritelist', array( + 'fl_title' => $article->mTitle->getDBKey()), + $fname = 'Database::delete'); + return true; +} + function fnAddCss (&$out) { global $wgScriptPath; $out->addStyle($wgScriptPath. '/extensions/favorites/favorites.css'); _______________________________________________ MediaWiki-CVS mailing list MediaWiki-CVS@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-cvs