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

Revision: 108333
Author:   amire80
Date:     2012-01-07 22:57:39 +0000 (Sat, 07 Jan 2012)
Log Message:
-----------
Automatic creation of workflow states.

Modified Paths:
--------------
    trunk/extensions/Translate/MessageGroups.php
    trunk/extensions/Translate/Translate.i18n.php
    trunk/extensions/Translate/_autoload.php

Modified: trunk/extensions/Translate/MessageGroups.php
===================================================================
--- trunk/extensions/Translate/MessageGroups.php        2012-01-07 22:49:46 UTC 
(rev 108332)
+++ trunk/extensions/Translate/MessageGroups.php        2012-01-07 22:57:39 UTC 
(rev 108333)
@@ -984,7 +984,48 @@
                        return $group->getMessage( $handle->getKey(), $code );
                }
        }
+}
 
+class WorkflowStatesMessageGroup extends WikiMessageGroup {
+       // id and source are not needed
+       public function __construct() {}
+
+       public function getId() {
+               return 'translate-workflow-states';
+       }
+
+       public function getLabel() {
+               return wfMessage( 'translate-workflowgroup-label' )->text();
+       }
+
+       public function getDescription() {
+               return wfMessage( 'translate-workflowgroup-desc' )->text();
+       }
+
+       public function getDefinitions() {
+               global $wgTranslateWorkflowStates;
+
+               $defs = array();
+
+               foreach ( array_keys( $wgTranslateWorkflowStates ) as $state ) {
+                       $titleString = "Translate-workflow-state-$state";
+
+                       // Automatically create pages for workflow states in 
the original language
+                       $title = Title::makeTitle( $this->getNamespace(), 
$titleString );
+                       if ( !$title->exists() ) {
+                               $page = new WikiPage( $title );
+                               $page->doEdit(
+                                       $state,
+                                       wfMessage( 
'translate-workflow-autocreated-summary', $state )->inContentLanguage()->text(),
+                                       EDIT_NEW
+                               );
+                       }
+
+                       $defs[$titleString] = $state;
+               }
+
+               return $defs;
+       }
 }
 
 /**
@@ -1056,6 +1097,7 @@
                global $wgEnablePageTranslation, $wgTranslateGroupFiles;
                global $wgTranslateAC, $wgTranslateEC, $wgTranslateCC;
                global $wgAutoloadClasses;
+               global $wgTranslateWorkflowStates;
 
                $deps = array();
                $deps[] = new GlobalDependency( 
'wgTranslateAddMWExtensionGroups' );
@@ -1091,6 +1133,10 @@
                        }
                }
 
+               if ( $wgTranslateWorkflowStates ) {
+                       $wgTranslateCC['translate-workflow-states'] = new 
WorkflowStatesMessageGroup();
+               }
+
                $autoload = array();
                wfRunHooks( 'TranslatePostInitGroups', array( &$wgTranslateCC, 
&$deps, &$autoload ) );
 

Modified: trunk/extensions/Translate/Translate.i18n.php
===================================================================
--- trunk/extensions/Translate/Translate.i18n.php       2012-01-07 22:49:46 UTC 
(rev 108332)
+++ trunk/extensions/Translate/Translate.i18n.php       2012-01-07 22:57:39 UTC 
(rev 108333)
@@ -407,8 +407,13 @@
        'translate-workflow-set-do' => 'Set',
        'translate-workflow-set-doing' => 'Setting...',
        'translate-workflow-set-done' => 'Set!',
+       'translate-workflow-autocreated-summary' => 'Automatic creation of page 
for workflow state $1',
        'translate-stats-workflow' => 'Status',
 
+       'translate-workflowgroup-label' => 'Workflow states',
+       'translate-workflowgroup-desc' => 'This message group shows the 
translation workflow states.
+The states are defined in the configuration variable 
$wgTranslateWorkflowStates.',
+
        // Dynamic message groups
        'translate-dynagroup-recent-label' => 'Recent translations',
        'translate-dynagroup-recent-desc' => 'This message group shows all 
recent translations into this language.
@@ -674,6 +679,7 @@
        'translate-workflow-set-do' => 'Submit button text when active',
        'translate-workflow-set-doing' => 'Submit button text when waiting for 
reply from server',
        'translate-workflow-set-done' => 'Submit button text when submission 
completed succesfully',
+       'translate-workflow-autocreated-summary' => 'This is an edit summary 
for the automatic creation of a workflow state page.',
        'translate-stats-workflow' => 'Column header on Special:LanguageStats 
and Special:MessageGroupStats',
 );
 
@@ -9561,7 +9567,11 @@
        'translate-workflow-set-do' => 'הגדרה',
        'translate-workflow-set-doing' => 'מתבצעת הגדרה...',
        'translate-workflow-set-done' => 'הוגדר!',
+       'translate-workflow-autocreated-summary' => 'יצירה אוטומטית של דף עם 
מצב התרגום $1',
        'translate-stats-workflow' => 'מצב',
+       'translate-workflowgroup-label' => 'מצבי תרגום',
+       'translate-workflowgroup-desc' => 'קבוצת ההודעות הזאת מציגה את המצבים 
האפשריים של תרגום הודעות.
+המצבים מוגדרים במשתנה ‎$wgTranslateWorkflowStates בקובץ ההגדרות של ההרחבה 
Translate.',
        'translate-dynagroup-recent-label' => 'תרגומים אחרונים',
        'translate-dynagroup-recent-desc' => 'קבוצת ההודעות הזאת מציגה את כל 
התרגומים האחרונים לשפה הזאת.
 זה שימושי בעיקר במצבים "{{int:translate-task-acceptqueue}}" 
ו"{{int:translate-task-reviewall}}".',

Modified: trunk/extensions/Translate/_autoload.php
===================================================================
--- trunk/extensions/Translate/_autoload.php    2012-01-07 22:49:46 UTC (rev 
108332)
+++ trunk/extensions/Translate/_autoload.php    2012-01-07 22:57:39 UTC (rev 
108333)
@@ -35,6 +35,7 @@
 $wgAutoloadClasses['WikiPageMessageGroup'] = $dir . 'MessageGroups.php';
 $wgAutoloadClasses['AliasMessageGroup'] = $dir . 'MessageGroups.php';
 $wgAutoloadClasses['RecentMessageGroup'] = $dir . 'MessageGroups.php';
+$wgAutoloadClasses['WorkflowStatesMessageGroup'] = $dir . 'MessageGroups.php';
 
 $wgAutoloadClasses['MessageCollection'] = $dir . 'MessageCollection.php';
 $wgAutoloadClasses['MessageDefinitions'] = $dir . 'MessageCollection.php';


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

Reply via email to