https://www.mediawiki.org/wiki/Special:Code/MediaWiki/113225

Revision: 113225
Author:   santhosh
Date:     2012-03-07 11:45:17 +0000 (Wed, 07 Mar 2012)
Log Message:
-----------
Clear the associated metadata when a translatable page is deleted.
Move the associated metadata when a translatable page is moved.

Modified Paths:
--------------
    trunk/extensions/Translate/tag/SpecialPageTranslationDeletePage.php
    trunk/extensions/Translate/tag/SpecialPageTranslationMovePage.php

Modified: trunk/extensions/Translate/tag/SpecialPageTranslationDeletePage.php
===================================================================
--- trunk/extensions/Translate/tag/SpecialPageTranslationDeletePage.php 
2012-03-07 10:34:24 UTC (rev 113224)
+++ trunk/extensions/Translate/tag/SpecialPageTranslationDeletePage.php 
2012-03-07 11:45:17 UTC (rev 113225)
@@ -316,6 +316,7 @@
                        $this->page->removeTags();
                }
 
+               $this->clearMetadata();
                MessageGroups::clearCache();
                MessageIndexRebuildJob::newJob()->insert();
 
@@ -323,6 +324,14 @@
                $wgOut->addWikiMsg( 'pt-deletepage-started' );
        }
 
+       protected function clearMetadata() {
+               // remove the entries from metadata table.
+               $groupId = $this->page->getMessageGroupId();
+               TranslateMetadata::set( $groupId, 'prioritylangs', false );
+               TranslateMetadata::set( $groupId, 'priorityforce', false );
+               TranslateMetadata::set( $groupId, 'priorityreason', false );
+       }
+
        /**
         * Returns all section pages, including those which are currently not 
active.
         * @return TitleArray.

Modified: trunk/extensions/Translate/tag/SpecialPageTranslationMovePage.php
===================================================================
--- trunk/extensions/Translate/tag/SpecialPageTranslationMovePage.php   
2012-03-07 10:34:24 UTC (rev 113224)
+++ trunk/extensions/Translate/tag/SpecialPageTranslationMovePage.php   
2012-03-07 11:45:17 UTC (rev 113225)
@@ -396,6 +396,11 @@
                        $newTpage->addMarkedTag( 
$this->newTitle->getLatestRevId( Title::GAID_FOR_UPDATE ) );
                }
 
+               // remove the entries from metadata table.
+               $oldGroupId = $this->page->getMessageGroupId();
+               $newGroupId = $newTpage->getMessageGroupId();
+               $this->moveMetadata( $oldGroupId, $newGroupId );
+
                MessageGroups::clearCache();
                MessageIndexRebuildJob::newJob()->insert();
 
@@ -403,6 +408,24 @@
                $wgOut->addWikiMsg( 'pt-movepage-started' );
        }
 
+       protected function moveMetadata( $oldGroupId, $newGroupId ) {
+               $prioritylangs = TranslateMetadata::get( $oldGroupId, 
'prioritylangs' );
+               $priorityforce = TranslateMetadata::get( $oldGroupId, 
'priorityforce' );
+               $priorityreason = TranslateMetadata::get( $oldGroupId, 
'priorityreason' );
+               TranslateMetadata::set( $oldGroupId, 'prioritylangs', false );
+               TranslateMetadata::set( $oldGroupId, 'priorityforce', false );
+               TranslateMetadata::set( $oldGroupId, 'priorityreason', false );
+               if ( $prioritylangs ) {
+                       TranslateMetadata::set( $newGroupId, 'prioritylangs', 
$prioritylangs );
+               }
+               if ( $priorityforce ) {
+                       TranslateMetadata::set( $newGroupId, 'priorityforce', 
$priorityforce );
+               }
+               if ( $priorityreason ) {
+                       TranslateMetadata::set( $newGroupId, 'priorityreason', 
$priorityreason );
+               }
+       }
+
        protected function checkMoveBlockers() {
                $blockers = array();
 


_______________________________________________
MediaWiki-CVS mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-cvs

Reply via email to