https://www.mediawiki.org/wiki/Special:Code/MediaWiki/112607
Revision: 112607
Author: nikerabbit
Date: 2012-02-28 15:57:35 +0000 (Tue, 28 Feb 2012)
Log Message:
-----------
Whitespace cleanup, comment tweaking
Modified Paths:
--------------
trunk/extensions/Translate/tag/PageTranslationHooks.php
Modified: trunk/extensions/Translate/tag/PageTranslationHooks.php
===================================================================
--- trunk/extensions/Translate/tag/PageTranslationHooks.php 2012-02-28
15:46:03 UTC (rev 112606)
+++ trunk/extensions/Translate/tag/PageTranslationHooks.php 2012-02-28
15:57:35 UTC (rev 112607)
@@ -194,35 +194,36 @@
if ( !$status ) {
return '';
}
- // If the prioritylangs set, show those languages alone.
- $priorityLangs = TranslateMetadata::get(
$page->getMessageGroupId(), 'prioritylangs' );
- $priorityForce = TranslateMetadata::get(
$page->getMessageGroupId(), 'priorityforce' );
+
+ // If priority languages have been set always show those
languages
+ $priorityLangs = TranslateMetadata::get(
$page->getMessageGroupId(), 'prioritylangs' );
+ $priorityForce = TranslateMetadata::get(
$page->getMessageGroupId(), 'priorityforce' );
$filter = null;
- if( strlen( $priorityLangs ) > 0 ) {
- $filter = array_flip( explode( ',', $priorityLangs ) );
+ if ( strlen( $priorityLangs ) > 0 ) {
+ $filter = array_flip( explode( ',', $priorityLangs ) );
}
- if ( $filter != null) {
- if ( $priorityForce == 'on' ) {
- // Show only the priority languages.
+ if ( $filter !== null ) {
+ // If translation is restricted to some languages, only
show them
+ if ( $priorityForce === 'on' ) {
$status = array_intersect_key( $status, $filter
);
}
- foreach ( $filter as $langCode => $value) {
+ foreach ( $filter as $langCode => $value ) {
if ( !isset( $status[$langCode] ) ) {
// We need to show all priority
languages even if no translation started
- $status[ $langCode] = 0;
+ $status[$langCode] = 0;
}
}
}
+
// Fix title
$title = $page->getTitle();
// Sort by language code, which seems to be the only sane method
ksort( $status );
- $options = $parser->getOptions();
+ // This way the parser knows to fragment the parser cache by
language code
+ $userLangCode = $parser->getOptions()->getUserLang();
- $userLangCode = $options->getUserLang();
-
$languages = array();
foreach ( $status as $code => $percent ) {
$name = TranslateUtils::getLanguageName( $code, false,
$userLangCode );
@@ -246,6 +247,7 @@
) );
// Add links to other languages
+ // @FIXME: 'en' should be the source language, not
hardcoded
$suffix = ( $code === 'en' ) ? '' : "/$code";
$_title = Title::makeTitle( $title->getNamespace(),
$title->getDBkey() . $suffix );
if ( intval( $percent ) === 0 ) {
@@ -264,6 +266,7 @@
);
$languages[] = Linker::link( $translate, "$name
$percentImage", $attribs, $params );
} elseif ( $parser->getTitle()->getText() ===
$_title->getText() ) {
+ // The page we are currently on
$name = Html::rawElement( 'span', array(
'class' => 'mw-pt-languages-selected' ), $name );
$languages[] = "$name $percentImage";
} else {
@@ -360,8 +363,8 @@
*/
public static function preventUnknownTranslations( Title $title, User
$user, $action, &$result ) {
$handle = new MessageHandle( $title );
- if ( $handle->isPageTranslation() && $action === 'edit' ) {
- if( !$handle->isValid() ) {
+ if ( $handle->isPageTranslation() && $action === 'edit' ) {
+ if ( !$handle->isValid() ) {
$result = array( 'tpt-unknown-page' );
return false;
}
@@ -369,7 +372,7 @@
$priorityForce = TranslateMetadata::get(
$handle->getGroup()->getId() , 'priorityforce' );
if ( strlen( $priorityLangs ) > 0 && $priorityForce ) {
$filter = array_flip( explode ( ',',
$priorityLangs ) );
- if ( count( $filter) > 0 && !isset(
$filter[$handle->getCode()] ) ) {
+ if ( count( $filter ) > 0 && !isset(
$filter[$handle->getCode()] ) ) {
$result = array(
'tpt-translation-restricted' );
return false;
}
_______________________________________________
MediaWiki-CVS mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-cvs