Make it a little easier to tweak the number of benefits.
Change-Id: Icbd1f7738197be061b8b9f12c45024902e3bb2b8
$out->addJsConfigVars( 'wgCreateacctImgcaptchaHelp',
$this->msg( 'createacct-imgcaptcha-help' )->parse() );
$out->addModules( 'mediawiki.special.createaccount.vform.js' );
+ // Must match number of benefits defined in messages
+ $template->set( 'benefitCount', 3 );
} else {
$template = new UsercreateTemplate();
}
<div class="mw-createacct-benefits-container">
<h2><?php $this->msg( 'createacct-benefit-heading' ); ?></h2>
<div class="mw-createacct-benefits-list">
+ <?php
+ for ( $benefitIdx = 1; $benefitIdx <= $this->data['benefitCount']; $benefitIdx++ ) {
+ // Pass each benefit's head text (by default a number) as a parameter to the body's message for PLURAL handling.
+ $headUnescaped = $this->getMsg( "createacct-benefit-head$benefitIdx" )->text();
+ ?>
<div>
- <div class="mw-benefits-icon <?php $this->msg( 'createacct-benefit-icon1' ); ?>"></div>
- <div class="mw-number-text">
- <h3><?php $this->msg( 'createacct-benefit-head1' ); ?></h3>
- <p><?php $this->msg( 'createacct-benefit-body1' ); ?></p>
- </div>
- </div>
- <div>
- <div class="mw-benefits-icon <?php $this->msg( 'createacct-benefit-icon2' ); ?>"></div>
- <div class="mw-number-text">
- <h3><?php $this->msg( 'createacct-benefit-head2' ); ?></h3>
- <p><?php $this->msg( 'createacct-benefit-body2' ); ?></p>
- </div>
- </div>
- <div>
- <div class="mw-benefits-icon <?php $this->msg( 'createacct-benefit-icon3' ); ?>"></div>
+ <div class="mw-benefits-icon <?php $this->msg( "createacct-benefit-icon$benefitIdx" ); ?>"></div>
<div class="mw-number-text">
- <h3><?php $this->msg( 'createacct-benefit-head3' ); ?></h3>
- <p><?php $this->msg( 'createacct-benefit-body3' ); ?></p>
+ <h3><?php $this->msg( "createacct-benefit-head$benefitIdx" ); ?></h3>
+ <p><?php echo $this->getMsg( "createacct-benefit-body$benefitIdx" )->params( $headUnescaped )->escaped(); ?></p>
</div>
</div>
+ <?php
+ }
+ ?>
</div>
</div>
</div>
'createacct-benefit-heading' => '{{SITENAME}} is made by people like you.',
'createacct-benefit-icon1' => 'icon-edits',
'createacct-benefit-head1' => '{{NUMBEROFEDITS}}',
-'createacct-benefit-body1' => 'edits',
+'createacct-benefit-body1' => '{{PLURAL:$1|edit|edits}}',
'createacct-benefit-icon2' => 'icon-pages',
'createacct-benefit-head2' => '{{NUMBEROFARTICLES}}',
-'createacct-benefit-body2' => 'pages',
+'createacct-benefit-body2' => '{{PLURAL:$1|page|pages}}',
'createacct-benefit-icon3' => 'icon-contributors',
'createacct-benefit-head3' => '{{NUMBEROFACTIVEUSERS}}',
-'createacct-benefit-body3' => 'recent contributors',
+'createacct-benefit-body3' => 'recent {{PLURAL:$1|contributor|contributors}}',
'badretype' => 'The passwords you entered do not match.',
'userexists' => 'Username entered already in use.
Please choose a different name.',