[MediaWiki-commits] [Gerrit] Fix regression in main page user stats widget for logged in ... - change (mediawiki...TwnMainPage)

2013-10-25 Thread Nikerabbit (Code Review)
Nikerabbit has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/91827


Change subject: Fix regression in main page user stats widget for logged in 
users
..

Fix regression in main page user stats widget for logged in users

Gravatar could be missing or subtitle be wrong. Caught by browser tests.
Likely caused by incorrect rebasing of an old patch. Some refactoring to
simplify the html as well.

Change-Id: I1f9f02cab331f984d46ddd0cc995bb042f34ad77
---
M resources/css/ext.translate.mainpage.css
M specials/SpecialTwnMainPage.php
M tests/browser/features/support/pages/main_page.rb
3 files changed, 31 insertions(+), 51 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/TwnMainPage 
refs/changes/27/91827/1

diff --git a/resources/css/ext.translate.mainpage.css 
b/resources/css/ext.translate.mainpage.css
index 39dca69..e5d0aba 100644
--- a/resources/css/ext.translate.mainpage.css
+++ b/resources/css/ext.translate.mainpage.css
@@ -232,7 +232,7 @@
min-height: 75px;
 }
 
-.twn-mainpage-alllang-stats {
+.subtitle {
padding: 0 10px;
 }
 
diff --git a/specials/SpecialTwnMainPage.php b/specials/SpecialTwnMainPage.php
index ace9605..6201846 100644
--- a/specials/SpecialTwnMainPage.php
+++ b/specials/SpecialTwnMainPage.php
@@ -596,27 +596,42 @@
$languageCode = $this-getLanguage()-getCode();
$languageName = TranslateUtils::getLanguageName( $languageCode, 
$languageCode );
 
-   $subtitle = '';
+   $groupsSourceLanguage = MessageGroups::haveSingleSourceLanguage(
+   MessageGroups::getAllGroups()
+   );
 
$link = Html::element( 'a', array(
'href' = SpecialPage::getTitleFor( 'LanguageStats' 
)-getLocalUrl(),
), $this-msg( 'twnmp-your-view-language-stats' )-text() );
 
if ( TranslateSandbox::isSandboxed( $this-getUser() ) ) {
+   $subtitleClass = 'for-sandbox';
+   $subtitle = '';
$rows = $this-getSandboxRows();
+   } elseif ( $groupsSourceLanguage === $languageCode ) {
+   $subtitleClass = 'for-all-languages';
+   $subtitle = $this-msg( 
'twnmp-your-translations-stats-all-languages' )-escaped();
+   $rows = $this-getTranslationStatsRows( '' );
} else {
+   $subtitleClass = Sanitizer::escapeClass( 
for-language-$languageCode );
$subtitle = htmlspecialchars( $languageName );
-   $rows = $this-getTranslationStatsRows();
+   $rows = $this-getTranslationStatsRows( $languageCode );
}
+
+   $email = $this-getUser()-getEmail();
+   $avatar = 'https://secure.gravatar.com/avatar/' . md5( 
strtolower( $email ) );
+   $background = background-image: url('$avatar?d=mm');;
+   $background = htmlspecialchars( $background );
+   $background = style=\$background\;
 
return HTML
 
 div class=five columns main-widget stats-widget
-   div class=row user-stats-title
+   div class=row user-stats-title $background
h2
{$this-msg( 'twnmp-your-translations-stats' 
)-escaped()}
/h2
-   div class=subtitle$subtitle/div
+   div class=subtitle $subtitleClass$subtitle/div
/div
$rows
div class=row langstats-link$link/div
@@ -625,20 +640,13 @@
 HTML;
}
 
-   public function getTranslationStatsRows() {
-   $groupsSourceLanguage = MessageGroups::haveSingleSourceLanguage(
-   MessageGroups::getAllGroups()
-   );
-
-   $languageCode = $this-getLanguage()-getCode();
-
-   if ( $groupsSourceLanguage === $languageCode ) {
-   # Do stats for all languages, denoted by empty string
-   $languageForStats = '';
-   } else {
-   $languageForStats = $languageCode;
-   }
-
+   /**
+* Gets data and formats language stats row. Use empty string to
+* get stats for all languages.
+* @param string $languageForStats Language code or empty string.
+* @return string HTML
+*/
+   public function getTranslationStatsRows( $languageForStats ) {
$stale = 60 * 5;
$expired = 60 * 60 * 12;
$cacher = new CachedStat( userstats-$languageForStats, 
$stale, $expired,
@@ -657,41 +665,13 @@
);
}
 
-   $out = Html::openElement(
-   'div',
-   array( 'class' = 'five columns main-widget 
stats-widget' )
-   );
-
- 

[MediaWiki-commits] [Gerrit] Fix regression in main page user stats widget for logged in ... - change (mediawiki...TwnMainPage)

2013-10-25 Thread jenkins-bot (Code Review)
jenkins-bot has submitted this change and it was merged.

Change subject: Fix regression in main page user stats widget for logged in 
users
..


Fix regression in main page user stats widget for logged in users

Gravatar could be missing or subtitle be wrong. Caught by browser tests.
Likely caused by incorrect rebasing of an old patch. Some refactoring to
simplify the html as well.

Change-Id: I1f9f02cab331f984d46ddd0cc995bb042f34ad77
---
M resources/css/ext.translate.mainpage.css
M specials/SpecialTwnMainPage.php
M tests/browser/features/support/pages/main_page.rb
3 files changed, 31 insertions(+), 51 deletions(-)

Approvals:
  KartikMistry: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/resources/css/ext.translate.mainpage.css 
b/resources/css/ext.translate.mainpage.css
index 39dca69..e5d0aba 100644
--- a/resources/css/ext.translate.mainpage.css
+++ b/resources/css/ext.translate.mainpage.css
@@ -232,7 +232,7 @@
min-height: 75px;
 }
 
-.twn-mainpage-alllang-stats {
+.subtitle {
padding: 0 10px;
 }
 
diff --git a/specials/SpecialTwnMainPage.php b/specials/SpecialTwnMainPage.php
index ace9605..6201846 100644
--- a/specials/SpecialTwnMainPage.php
+++ b/specials/SpecialTwnMainPage.php
@@ -596,27 +596,42 @@
$languageCode = $this-getLanguage()-getCode();
$languageName = TranslateUtils::getLanguageName( $languageCode, 
$languageCode );
 
-   $subtitle = '';
+   $groupsSourceLanguage = MessageGroups::haveSingleSourceLanguage(
+   MessageGroups::getAllGroups()
+   );
 
$link = Html::element( 'a', array(
'href' = SpecialPage::getTitleFor( 'LanguageStats' 
)-getLocalUrl(),
), $this-msg( 'twnmp-your-view-language-stats' )-text() );
 
if ( TranslateSandbox::isSandboxed( $this-getUser() ) ) {
+   $subtitleClass = 'for-sandbox';
+   $subtitle = '';
$rows = $this-getSandboxRows();
+   } elseif ( $groupsSourceLanguage === $languageCode ) {
+   $subtitleClass = 'for-all-languages';
+   $subtitle = $this-msg( 
'twnmp-your-translations-stats-all-languages' )-escaped();
+   $rows = $this-getTranslationStatsRows( '' );
} else {
+   $subtitleClass = Sanitizer::escapeClass( 
for-language-$languageCode );
$subtitle = htmlspecialchars( $languageName );
-   $rows = $this-getTranslationStatsRows();
+   $rows = $this-getTranslationStatsRows( $languageCode );
}
+
+   $email = $this-getUser()-getEmail();
+   $avatar = 'https://secure.gravatar.com/avatar/' . md5( 
strtolower( $email ) );
+   $background = background-image: url('$avatar?d=mm');;
+   $background = htmlspecialchars( $background );
+   $background = style=\$background\;
 
return HTML
 
 div class=five columns main-widget stats-widget
-   div class=row user-stats-title
+   div class=row user-stats-title $background
h2
{$this-msg( 'twnmp-your-translations-stats' 
)-escaped()}
/h2
-   div class=subtitle$subtitle/div
+   div class=subtitle $subtitleClass$subtitle/div
/div
$rows
div class=row langstats-link$link/div
@@ -625,20 +640,13 @@
 HTML;
}
 
-   public function getTranslationStatsRows() {
-   $groupsSourceLanguage = MessageGroups::haveSingleSourceLanguage(
-   MessageGroups::getAllGroups()
-   );
-
-   $languageCode = $this-getLanguage()-getCode();
-
-   if ( $groupsSourceLanguage === $languageCode ) {
-   # Do stats for all languages, denoted by empty string
-   $languageForStats = '';
-   } else {
-   $languageForStats = $languageCode;
-   }
-
+   /**
+* Gets data and formats language stats row. Use empty string to
+* get stats for all languages.
+* @param string $languageForStats Language code or empty string.
+* @return string HTML
+*/
+   public function getTranslationStatsRows( $languageForStats ) {
$stale = 60 * 5;
$expired = 60 * 60 * 12;
$cacher = new CachedStat( userstats-$languageForStats, 
$stale, $expired,
@@ -657,41 +665,13 @@
);
}
 
-   $out = Html::openElement(
-   'div',
-   array( 'class' = 'five columns main-widget 
stats-widget' )
-   );
-
-   $email = $this-getUser()-getEmail();
-