protected function getReviewStatus(TMessage $message) { if (!$this->reviewMode) { return ''; } $reviewers = (array) $message->getProperty('reviewers'); $count = count($reviewers); if ($count === 0) { return ''; } $userId = $this->context->getUser()->getId(); $you = in_array($userId, $reviewers); $key = $you ? "y{$count}" : "n{$count}"; // ->text() (and ->parse()) invokes the parser. Each call takes // about 70 KiB, so it makes sense to cache these messages which // have high repetition. if (isset($this->reviewStatusCache[$key])) { return $this->reviewStatusCache[$key]; } elseif ($you) { $msg = wfMessage('translate-messagereview-reviewswithyou')->numParams($count)->text(); } else { $msg = wfMessage('translate-messagereview-reviews')->numParams($count)->text(); } $wrap = Html::rawElement('div', array('class' => 'mw-translate-messagereviewstatus'), $msg); $this->reviewStatusCache[$key] = $wrap; return $wrap; }
public function getProperty($key) { if (!isset(self::$propertyMap[$key])) { return parent::getProperty($key); } $field = self::$propertyMap[$key]; if (!isset($this->row->{$field})) { return null; } return $this->row->{$field}; }
protected function getReviewStatus( TMessage $message ) { global $wgUser; if ( !$this->reviewMode ) { return ''; } $reviewers = (array) $message->getProperty( 'reviewers' ); if ( count( $reviewers ) === 0 ) { return ''; } $you = $wgUser->getId(); if ( in_array( $you, $reviewers ) ) { if ( count( $reviewers ) === 1 ) { $msg = wfMessage( 'translate-messagereview-reviewsyou' )->parse(); } else { $msg = wfMessage( 'translate-messagereview-reviewswithyou' )->numParams( count( $reviewers ) )->parse(); } } else { $msg = wfMessage( 'translate-messagereview-reviews' )->numParams( count( $reviewers ) )->parse(); } return Html::rawElement( 'div', array( 'class' => 'mw-translate-messagereviewstatus' ), $msg ); }