[MediaWiki-commits] [Gerrit] Provide helper links on file description pages. - change (mediawiki...TranslateSvg)

2013-03-21 Thread Jarry1250 (Code Review)
Jarry1250 has submitted this change and it was merged.

Change subject: Provide helper links on file description pages.
..


Provide helper links on file description pages.

These come in a few different flavours: no translations,
do you wish to start?; translations, just view; and
translations, view and translate.

The &chooselanguage=1 parameter doesn't do anything yet,
but it will shortly.

Change-Id: I360f2fdc219d96e5c10670c34796d6f40fbed2b4
---
M TranslateSvg.php
M TranslateSvgHooks.php
A resources/ext.translatesvg.filepage.js
3 files changed, 237 insertions(+), 0 deletions(-)

Approvals:
  Nikerabbit: Looks good to me, but someone else must approve
  Jarry1250: Verified; Looks good to me, approved



diff --git a/TranslateSvg.php b/TranslateSvg.php
index d6d31ff..5321d9c 100644
--- a/TranslateSvg.php
+++ b/TranslateSvg.php
@@ -53,7 +53,28 @@
'remoteExtPath' => 'TranslateSvg'
 );
 
+$wgResourceModules['ext.translatesvg.filepage'] = array(
+   'scripts' => array( 'resources/ext.translatesvg.filepage.js' ),
+   'dependencies' => array( 'mediawiki.Uri' ),
+   'messages' => array(
+   'translate-svg-filepage-caption',
+   'translate-svg-filepage-caption-translator',
+   'translate-svg-filepage-edit',
+   'translate-svg-filepage-finish',
+   'translate-svg-filepage-item',
+   'translate-svg-filepage-another',
+   'translate-svg-filepage-other',
+   'translate-svg-filepage-invite',
+   'comma-separator'
+   ),
+   'localBasePath' => dirname( __FILE__ ),
+   'remoteExtPath' => 'TranslateSvg'
+);
+
+$wgHooks['BeforePageDisplay'][] = 
'TranslateSvgHooks::updateFileDescriptionPages';
 $wgHooks['LoadExtensionSchemaUpdates'][] = 'TranslateSvgHooks::schemaUpdates';
+$wgHooks['MakeGlobalVariablesScript'][] = 
'TranslateSvgHooks::makeFilePageGlobalVariables';
+$wgHooks['TranslateBeforeAddModules'][] = 'TranslateSvgHooks::addModules';
 $wgHooks['TranslateGetBoxes'][] = 'TranslateSvgHooks::addThumbnail';
 $wgHooks['TranslateGetBoxes'][] = 'TranslateSvgHooks::removeQQQ';
 $wgHooks['TranslateGetSpecialTranslateOptions'][] = 
'TranslateSvgHooks::makeExportAsSvgOptionDefault';
diff --git a/TranslateSvgHooks.php b/TranslateSvgHooks.php
index 68c8b64..dd8db19 100644
--- a/TranslateSvgHooks.php
+++ b/TranslateSvgHooks.php
@@ -259,6 +259,21 @@
return true;
}
 
+   /*
+* Function used to add modules via the resource loader on
+* the file pages of SVG files via the BeforePageDisplay MediaWiki hook
+*
+* @param $out Contextual OutputPage instance
+* @return \bool true
+*/
+   public static function updateFileDescriptionPages( $out ) {
+   $title = $out->getTitle();
+   if( TranslateSvgUtils::isSVGFilePage( $title ) ) {
+   $out->addModules( 'ext.translatesvg.filepage' );
+   }
+   return true;
+   }
+
/**
 * Process the thumbnail property for use with the mgprop parameter of
 * action=query&meta=messagegroups API queries.
@@ -344,7 +359,60 @@
$group = Title::newFromRow( $r )->getText();
$list[$group] = new SVGMessageGroup( $group );
}
+   return true;
+   }
 
+   /**
+* Function used to expose various new globals to the
+* JavaScript of the file description pages of SVG files
+* via the MakeGlobalVariablesScript MediaWiki hook.
+*
+* @param &$vars Array of variables to be exposed to JavaScript
+* @param $out Contextual OutputPage instance
+* @return \bool true
+*/
+   public static function makeFilePageGlobalVariables( &$vars, $out ) {
+   global $wgLanguageNames;
+
+   $title = $out->getTitle();
+   if( !TranslateSvgUtils::isSVGFilePage( $title ) ) {
+   return true;
+   }
+
+   $user = $out->getUser();
+   $vars['wgUserLanguageName'] = Language::fetchLanguageName(
+   $user->getOption( 'language' )
+   );
+   $vars['wgUserCanTranslate'] = $user->isAllowed( 'translate' );
+
+   $id = $title->getText();
+   $messageGroup = new SVGMessageGroup( $id );
+   $reader = new SVGFormatReader( $messageGroup );
+   $vars['wgFileCanBeTranslated'] = ( $reader !== null );
+   if( !$vars['wgFileCanBeTranslated'] || 
!MessageGroups::getGroup( $id ) ) {
+   // Not translatable or not yet translated, let's save 
time and return immediately
+   $vars['wgFileFullTranslations'] = array();
+   $vars['wgFilePartialTranslations'] = array();
+   return tru

[MediaWiki-commits] [Gerrit] Provide helper links on file description pages. - change (mediawiki...TranslateSvg[master])

2012-08-16 Thread Jarry1250 (Code Review)
Jarry1250 has uploaded a new change for review.

Change subject: Provide helper links on file description pages.
..

Provide helper links on file description pages.

These come in a few different flavours: no translations,
do you wish to start?; translations, just view; and
translations, view and translate.

Change-Id: I360f2fdc219d96e5c10670c34796d6f40fbed2b4
---
M TranslateSvg.php
M TranslateSvgHooks.php
A resources/ext.translatesvg.filepage.js
3 files changed, 242 insertions(+), 4 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/TranslateSvg 
refs/changes/07/20007/1
--
To view, visit https://gerrit.wikimedia.org/r/20007
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I360f2fdc219d96e5c10670c34796d6f40fbed2b4
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/TranslateSvg
Gerrit-Branch: master
Gerrit-Owner: Jarry1250 

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits