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

Revision: 73936
Author:   nikerabbit
Date:     2010-09-29 07:56:17 +0000 (Wed, 29 Sep 2010)

Log Message:
-----------
More cleanup to MessageGroups

Modified Paths:
--------------
    trunk/extensions/Translate/MessageGroups.php
    trunk/extensions/Translate/tag/TranslatablePage.php

Modified: trunk/extensions/Translate/MessageGroups.php
===================================================================
--- trunk/extensions/Translate/MessageGroups.php        2010-09-29 07:46:22 UTC 
(rev 73935)
+++ trunk/extensions/Translate/MessageGroups.php        2010-09-29 07:56:17 UTC 
(rev 73936)
@@ -900,17 +900,15 @@
                        $res = $dbr->select( $tables, $vars, $conds, 
__METHOD__, $options );
 
                        foreach ( $res as $r ) {
-                               /// @todo Lazy-construct translatable page 
message groups.
-                               $title = Title::makeTitle( $r->page_namespace, 
$r->page_title )->getPrefixedText();
-                               $id = "page|$title";
+                               $title = Title::makeTitle( $r->page_namespace, 
$r->page_title );
+                               $id = 
TranslatablePage::getMessageGroupIdFromTitle( $title );
                                $wgTranslateCC[$id] = new WikiPageMessageGroup( 
$id, $title );
-                               $wgTranslateCC[$id]->setLabel( $title );
+                               $wgTranslateCC[$id]->setLabel( 
$title->getPrefixedText() );
                        }
                }
 
-               wfRunHooks( 'TranslatePostInitGroups', array( &$wgTranslateCC ) 
);
-
                $autoload = array();
+               wfRunHooks( 'TranslatePostInitGroups', array( &$wgTranslateCC, 
&$deps, &$autoload ) );
 
                foreach ( $wgTranslateGroupFiles as $configFile ) {
                        wfDebug( $configFile . "\n" );
@@ -962,15 +960,11 @@
                        } else {
                                return new $creater;
                        }
-               } else {
-                       if ( array_key_exists( $id, $wgTranslateCC ) ) {
-                               if ( is_callable( $wgTranslateCC[$id] ) ) {
-                                       return call_user_func( 
$wgTranslateCC[$id], $id );
-                               } else {
-                                       return $wgTranslateCC[$id];
-                               }
+               } elseif ( isset( $wgTranslateCC[$id] ) ) {
+                       if ( is_callable( $wgTranslateCC[$id] ) ) {
+                               return call_user_func( $wgTranslateCC[$id], $id 
);
                        } else {
-                               return null;
+                               return $wgTranslateCC[$id];
                        }
                }
        }

Modified: trunk/extensions/Translate/tag/TranslatablePage.php
===================================================================
--- trunk/extensions/Translate/tag/TranslatablePage.php 2010-09-29 07:46:22 UTC 
(rev 73935)
+++ trunk/extensions/Translate/tag/TranslatablePage.php 2010-09-29 07:56:17 UTC 
(rev 73936)
@@ -152,10 +152,19 @@
         * @return \string
         */
        public function getMessageGroupId() {
-               return 'page|' . $this->getTitle()->getPrefixedText();
+               return self::getMessageGroupIdFromTitle( $this->getTitle() );
        }
 
        /**
+        * Constructs MessageGroup id for any title.
+        * @param $title Title
+        * @return \string
+        */
+       public static function getMessageGroupIdFromTitle( Title $title ) {
+               return 'page|' . $title->getPrefixedText();
+       }
+
+       /**
         * Returns MessageGroup used for translating this page. It may still be 
empty
         * if the page has not been ever marked.
         * @return \type{WikiPageMessageGroup}



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

Reply via email to