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

Revision: 69017
Author:   siebrand
Date:     2010-07-04 20:52:02 +0000 (Sun, 04 Jul 2010)

Log Message:
-----------
Filter irrelevant tasks for page translation pages.

Modified Paths:
--------------
    trunk/extensions/Translate/Translate.php
    trunk/extensions/Translate/TranslatePage.php
    trunk/extensions/Translate/TranslateTasks.php

Modified: trunk/extensions/Translate/Translate.php
===================================================================
--- trunk/extensions/Translate/Translate.php    2010-07-04 20:43:58 UTC (rev 
69016)
+++ trunk/extensions/Translate/Translate.php    2010-07-04 20:52:02 UTC (rev 
69017)
@@ -13,7 +13,7 @@
  * @license http://www.gnu.org/copyleft/gpl.html GNU General Public License 
2.0 or later
  */
 
-define( 'TRANSLATE_VERSION', '2010-06-12' );
+define( 'TRANSLATE_VERSION', '2010-07-04' );
 
 $wgExtensionCredits['specialpage'][] = array(
        'path'           => __FILE__,

Modified: trunk/extensions/Translate/TranslatePage.php
===================================================================
--- trunk/extensions/Translate/TranslatePage.php        2010-07-04 20:43:58 UTC 
(rev 69016)
+++ trunk/extensions/Translate/TranslatePage.php        2010-07-04 20:52:02 UTC 
(rev 69017)
@@ -248,10 +248,13 @@
                return $selector->getHTML();
        }
 
-       protected function taskSelector() {
+       protected function taskSelector( $pageTranslation = false ) {
                $selector = new HTMLSelector( 'task', 'task', 
$this->options['task'] );
 
-               foreach ( TranslateTasks::getTasks() as $id ) {
+               // Check if this is a page translation group to return only 
appropriate tasks.
+               $isPageTranslation = strpos( $this->group->getId(), 'page|' ) 
=== 0 ? true : false;
+
+               foreach ( TranslateTasks::getTasks( $isPageTranslation ) as $id 
) {
                        $label = call_user_func( array( 'TranslateTask', 
'labelForTask' ), $id );
                        $selector->addOption( $label, $id );
                }

Modified: trunk/extensions/Translate/TranslateTasks.php
===================================================================
--- trunk/extensions/Translate/TranslateTasks.php       2010-07-04 20:43:58 UTC 
(rev 69016)
+++ trunk/extensions/Translate/TranslateTasks.php       2010-07-04 20:52:02 UTC 
(rev 69017)
@@ -374,10 +374,29 @@
 }
 
 class TranslateTasks {
-       public static function getTasks() {
+       public static function getTasks( $pageTranslation = false ) {
                global $wgTranslateTasks;
 
-               return array_keys( $wgTranslateTasks );
+               // Tasks not to be available in page translation
+               $filterTasks = array(
+                       'optional',
+                       'untranslatedoptional',
+                       'review',
+                       'export-to-file',
+                       'export-to-xliff'
+               );
+
+               $allTasks = array_keys( $wgTranslateTasks );
+               
+               if ( $pageTranslation ) {
+                       foreach( $allTasks as $id => $task ) {
+                               if ( in_array( $task, $filterTasks ) ) {
+                                       unset( $allTasks[$id] );
+                               }
+                       }
+               }
+
+               return $allTasks;
        }
 
        public static function getTask( $id ) {



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

Reply via email to