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};
 }
Пример #3
0
	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 );
	}