r24221 MediaWiki - Code Review archive

Repository:MediaWiki
Revision:r24220‎ | r24221 | r24222 >
Date:22:52, 17 July 2007
Author:aaron
Status:old
Tags:
Comment:
*Add some features per email
Modified paths:
  • /trunk/extensions/ConfirmAccount/ConfirmAccount.i18n.php (modified) (history)
  • /trunk/extensions/ConfirmAccount/ConfirmAccount_body.php (modified) (history)
  • /trunk/extensions/ConfirmAccount/SpecialConfirmAccount.php (modified) (history)

Diff [purge]

Index: trunk/extensions/ConfirmAccount/SpecialConfirmAccount.php
@@ -1,5 +1,5 @@
22 <?php
3 -#(c) Aaron Schulz
 3+#(c) Aaron Schulz 2007, GPL
44
55 if ( !defined( 'MEDIAWIKI' ) ) {
66 echo "ConfirmAccount extension\n";
@@ -21,10 +21,14 @@
2222
2323 # Set the person's bio as their userpage?
2424 $wgMakeUserPageFromBio = true;
 25+# Make the username of the real name?
 26+$wgUseRealNamesOnly = true;
2527 $wgSaveRejectedAccountReqs = true;
2628 $wgRejectedAccountMaxAge = 7 * 24 * 3600; // One week
2729 # How many requests can an IP make at once?
2830 $wgAccountRequestThrottle = 1;
 31+# Minimum biography specs
 32+$wgAccountRequestMinWords = 50;
2933
3034 $wgGroupPermissions['*']['createaccount'] = false;
3135 $wgGroupPermissions['sysop']['createaccount'] = false;
@@ -57,11 +61,9 @@
5862 $dup = $dbw->selectField( 'account_requests', '1',
5963 array( 'acr_name' => $user->getName() ),
6064 __METHOD__ );
61 -
6265 if ( $dup ) {
6366 $abortError = wfMsgHtml('requestaccount-inuse');
6467 }
65 -
6668 return true;
6769 }
6870
Index: trunk/extensions/ConfirmAccount/ConfirmAccount_body.php
@@ -14,7 +14,7 @@
1515 }
1616
1717 function execute( $subpage ) {
18 - global $wgUser, $wgOut, $wgRequest, $action ;
 18+ global $wgUser, $wgOut, $wgRequest, $action, $wgUseRealNamesOnly;
1919
2020 if( $wgUser->isBlocked() ) {
2121 $wgOut->blockedPage();
@@ -26,13 +26,20 @@
2727 }
2828
2929 $this->setHeaders();
30 -
31 - $this->mUsername = $wgRequest->getText( 'wpUsername' );
 30+ # We may only want real names being used
 31+ if( $wgUseRealNamesOnly )
 32+ $this->mUsername = $wgRequest->getText( 'wpRealName' );
 33+ else
 34+ $this->mUsername = $wgRequest->getText( 'wpUsername' );
 35+ # Grab other info fields...
3236 $this->mRealName = $wgRequest->getText( 'wpRealName' );
3337 $this->mEmail = $wgRequest->getText( 'wpEmail' );
3438 $this->mBio = $wgRequest->getText( 'wpBio' );
3539 $this->mNotes = $wgRequest->getText( 'wpNotes' );
3640 $this->mUrls = $wgRequest->getText( 'wpUrls' );
 41+ $this->mCorrect = $wgRequest->getBool('wpCorrect');
 42+ $this->mToS = $wgRequest->getBool('wpToS');
 43+ # We may be confirming an email address here
3744 $emailCode = $wgRequest->getText( 'wpEmailToken' );
3845
3946 if ( $wgRequest->wasPosted() && $wgUser->matchEditToken( $wgRequest->getVal( 'wpEditToken' ) ) ) {
@@ -45,33 +52,38 @@
4653 }
4754
4855 function showForm( $msg='' ) {
49 - global $wgOut, $wgUser, $wgTitle, $wgAuth;
 56+ global $wgOut, $wgUser, $wgTitle, $wgAuth, $wgUseRealNamesOnly;
5057
51 - $wgOut->setPagetitle( wfMsg( "requestaccount" ) );
 58+ $wgOut->setPagetitle( wfMsgHtml( "requestaccount" ) );
5259 # Output failure message
5360 if( $msg ) {
5461 $wgOut->addHTML( '<div class="errorbox">' . $msg . '</div><div class="visualClear"></div>' );
5562 }
5663 # Give notice to users that are logged in
5764 if( $wgUser->getID() ) {
58 - $wgOut->addWikiText( wfMsg( "requestaccount-dup" ) );
 65+ $wgOut->addWikiText( wfMsgHtml( "requestaccount-dup" ) );
5966 }
6067
61 - $wgOut->addWikiText( wfMsg( "requestacount-text" ) );
 68+ $wgOut->addWikiText( wfMsgHtml( "requestacount-text" ) );
6269
6370 $action = $wgTitle->escapeLocalUrl( 'action=submit' );
6471 $form = "<form name='accountrequest' action='$action' method='post'><fieldset>";
65 - $form .= '<legend>' . wfMsg('requestacount-legend1') . '</legend>';
 72+ $form .= '<legend>' . wfMsgHtml('requestacount-legend1') . '</legend>';
6673 $form .= "<p>".wfMsgExt( 'requestacount-acc-text', array('parse') )."</p>\n";
6774 $form .= '<table cellpadding=\'4\'>';
68 - $form .= "<tr><td>".Xml::label( wfMsgHtml('username'), 'wpUsername' )."</td>";
69 - $form .= "<td>".Xml::input( 'wpUsername', 30, $this->mUsername, array('id' => 'wpUsername') )."</td></tr>\n";
 75+ if( $wgUseRealNamesOnly ) {
 76+ $form .= "<tr><td>".wfMsgHtml('username')."</td>";
 77+ $form .= "<td>".wfMsgHtml('requestaccount-same')."</td></tr>\n";
 78+ } else {
 79+ $form .= "<tr><td>".Xml::label( wfMsgHtml('username'), 'wpUsername' )."</td>";
 80+ $form .= "<td>".Xml::input( 'wpUsername', 30, $this->mUsername, array('id' => 'wpUsername') )."</td></tr>\n";
 81+ }
7082 $form .= "<tr><td>".Xml::label( wfMsgHtml('requestaccount-email'), 'wpEmail' )."</td>";
7183 $form .= "<td>".Xml::input( 'wpEmail', 30, $this->mEmail, array('id' => 'wpEmail') )."</td></tr>\n";
7284 $form .= '</table></fieldset>';
7385
7486 $form .= '<fieldset>';
75 - $form .= '<legend>' . wfMsg('requestacount-legend2') . '</legend>';
 87+ $form .= '<legend>' . wfMsgHtml('requestacount-legend2') . '</legend>';
7688 $form .= "<p>".wfMsgExt( 'requestaccount-bio-text', array('parse') )."</p>\n";
7789 $form .= '<table cellpadding=\'4\'>';
7890 $form .= "<tr><td>".Xml::label( wfMsgHtml('requestaccount-real'), 'wpRealName' )."</td>";
@@ -84,7 +96,7 @@
8597 $form .= '</fieldset>';
8698
8799 $form .= '<fieldset>';
88 - $form .= '<legend>' . wfMsg('requestacount-legend3') . '</legend>';
 100+ $form .= '<legend>' . wfMsgHtml('requestacount-legend3') . '</legend>';
89101 $form .= "<p>".wfMsgExt( 'requestacount-ext-text', array('parse') )."</p>\n";
90102
91103 $form .= "<p>".wfMsgHtml('requestaccount-notes')."</p>\n";
@@ -95,9 +107,6 @@
96108 $form .= "<p><textarea tabindex='1' name='wpUrls' id='wpUrls' rows='2' cols='80' style='width:100%'>" .
97109 $this->mUrls .
98110 "</textarea></p>";
99 -
100 - $form .= Xml::hidden( 'title', $wgTitle->getPrefixedText() )."\n";
101 - $form .= Xml::hidden( 'wpEditToken', $wgUser->editToken() )."\n";
102111 $form .= '</fieldset>';
103112
104113 # Pseudo template for extensions
@@ -113,8 +122,12 @@
114123 $form .= '</fieldset>';
115124 }
116125 }
117 -
118 - $form .= "<p>".wfMsgExt( 'requestacount-confirm', array('parse') )."</p>\n";
 126+ $form .= "<p>".Xml::checkLabel( wfMsgExt( 'requestaccount-correct',
 127+ array('parseinline') ), 'wpCorrect', 'wpCorrect', $this->mCorrect )."</p>\n";
 128+ $form .= "<p>".Xml::checkLabel( wfMsgExt( 'requestaccount-tos',
 129+ array('parseinline') ), 'wpToS', 'wpToS', $this->mToS )."</p>\n";
 130+ $form .= Xml::hidden( 'title', $wgTitle->getPrefixedText() )."\n";
 131+ $form .= Xml::hidden( 'wpEditToken', $wgUser->editToken() )."\n";
119132 $form .= "<p>".Xml::submitButton( wfMsgHtml( 'requestacount-submit') ) . "</p></fieldset>";
120133 $form .= '</form>';
121134
@@ -145,11 +158,22 @@
146159 $this->showForm( wfMsgHtml('requestaccount-inuse') );
147160 return;
148161 }
 162+ # Make sure user agrees to policy here
 163+ if( !$this->mCorrect || !$this->mToS ) {
 164+ $this->showForm( wfMsgHtml('requestaccount-agree') );
 165+ return;
 166+ }
149167 # Validate email address
150168 if( !$u->isValidEmailAddr( $this->mEmail ) ) {
151169 $this->showForm( wfMsgHtml('invalidemailaddress') );
152170 return;
153171 }
 172+ global $wgAccountRequestMinWords;
 173+ # Check if biography is long enough
 174+ if( str_word_count($this->mBio) < $wgAccountRequestMinWords ) {
 175+ $this->showForm( wfMsgHtml('requestaccount-tooshort',$wgAccountRequestMinWords) );
 176+ return;
 177+ }
154178 # Set some additional data so the AbortNewAccount hook can be
155179 # used for more than just username validation
156180 $u->setEmail( $this->mEmail );
@@ -219,7 +243,7 @@
220244 function throttleHit( $limit ) {
221245 global $wgOut;
222246
223 - $wgOut->addWikiText( wfMsg( 'acct_request_throttle_hit', $limit ) );
 247+ $wgOut->addWikiText( wfMsgHtml( 'acct_request_throttle_hit', $limit ) );
224248 }
225249
226250 function confirmEmailToken( $code ) {
@@ -228,8 +252,7 @@
229253 $name = $this->requestFromEmailToken( $code );
230254 if( $name !== false ) {
231255 $this->confirmEmail( $name );
232 - $message = $wgUser->isLoggedIn() ? 'confirmemail_loggedin' : 'confirmemail_success';
233 - $wgOut->addWikiText( wfMsg( $message ) );
 256+ $wgOut->addWikiText( wfMsgHtml( 'request-account-econf' ) );
234257 $wgOut->returnToMain();
235258 return;
236259 }
@@ -362,6 +385,9 @@
363386 $this->mUsername = $wgRequest->getText( 'wpNewName' );
364387 # For viewing rejects
365388 $this->showRejects = $wgRequest->getBool( 'wpShowRejects' );
 389+
 390+ $this->submitType = $wgRequest->getVal( 'wpSubmitType' );
 391+ $this->reason = $wgRequest->getText( 'wpReason' );
366392
367393 $this->skin = $wgUser->getSkin();
368394
@@ -375,24 +401,29 @@
376402 }
377403
378404 function doSubmit() {
379 - global $wgOut, $wgTitle, $wgAuth, $action;
 405+ global $wgOut, $wgTitle, $wgAuth;
380406
381407 $row = $this->getRequest();
382408 if( !$row ) {
383 - $wgOut->addHTML( wfMsg('confirmaccount-badid') );
 409+ $wgOut->addHTML( wfMsgHtml('confirmaccount-badid') );
384410 $wgOut->returnToMain( true, $wgTitle );
385411 return;
386412 }
387413
388 - if( $action == 'reject' ) {
 414+ if( $this->submitType == 'reject' ) {
389415 global $wgSaveRejectedAccountReqs;
390416 # Make proxy user to email a rejection message :(
391417 $u = User::newFromName( $row->acr_name, 'creatable' );
392418 $u->setEmail( $row->acr_email );
393419 # Do not send multiple times
394420 if( !$row->acr_rejected ) {
395 - $result = $u->sendMail( wfMsg( 'confirmaccount-email-subj' ),
396 - wfMsg( 'confirmaccount-email-body2', $u->getName() ) );
 421+ if( $this->reason ) {
 422+ $result = $u->sendMail( wfMsg( 'confirmaccount-email-subj' ),
 423+ wfMsg( 'confirmaccount-email-body4', $u->getName(), $this->reason ) );
 424+ } else {
 425+ $result = $u->sendMail( wfMsg( 'confirmaccount-email-subj' ),
 426+ wfMsg( 'confirmaccount-email-body3', $u->getName() ) );
 427+ }
397428 if( WikiError::isError( $result ) ) {
398429 $error = wfMsg( 'mailerror', htmlspecialchars( $result->getMessage() ) );
399430 $this->showForm( $error );
@@ -413,7 +444,7 @@
414445 }
415446
416447 $this->showSuccess( $action );
417 - } else if( $action == 'accept' ) {
 448+ } else if( $this->submitType == 'accept' ) {
418449 global $wgMakeUserPageFromBio;
419450 # Check if the name is to be overridden
420451 $name = $this->mUsername ? trim($this->mUsername) : $row->acr_name;
@@ -434,17 +465,20 @@
435466 # VERY important to set email now. Otherwise user will have to request
436467 # a new password at the login screen...
437468 $user->setEmail( $row->acr_email );
438 - $result = $user->sendMail( wfMsg( 'confirmaccount-email-subj' ),
439 - wfMsg( 'confirmaccount-email-body',
440 - $user->getName(),
441 - $pass ) );
 469+ if( $this->reason ) {
 470+ $result = $user->sendMail( wfMsg( 'confirmaccount-email-subj' ),
 471+ wfMsg( 'confirmaccount-email-body2', $user->getName(), $pass, $this->reason ) );
 472+ } else {
 473+ $result = $user->sendMail( wfMsg( 'confirmaccount-email-subj' ),
 474+ wfMsg( 'confirmaccount-email-body', $user->getName(), $pass ) );
 475+ }
442476 if( WikiError::isError( $result ) ) {
443477 $error = wfMsg( 'mailerror', htmlspecialchars( $result->getMessage() ) );
444478 $this->showForm( $error );
445479 return false;
446480 }
447481 if( !$wgAuth->addUser( $user, $pass, $row->acr_email, $row->acr_real_name ) ) {
448 - $this->showForm( wfMsg( 'externaldberror' ) );
 482+ $this->showForm( wfMsgHtml( 'externaldberror' ) );
449483 return false;
450484 }
451485 # Set password and realname
@@ -470,6 +504,8 @@
471505 }
472506
473507 $this->showSuccess( $action, $user->getName() );
 508+ } else {
 509+ $this->showForm();
474510 }
475511 }
476512
@@ -483,7 +519,7 @@
484520
485521 $row = $this->getRequest();
486522 if( !$row || $row->acr_rejected && !$this->showRejects ) {
487 - $wgOut->addHTML( wfMsg('confirmaccount-badid') );
 523+ $wgOut->addHTML( wfMsgHtml('confirmaccount-badid') );
488524 $wgOut->returnToMain( true, $wgTitle );
489525 return;
490526 }
@@ -499,18 +535,18 @@
500536
501537 $action = $wgTitle->escapeLocalUrl( 'action=submit' );
502538 $form = "<form name='accountconfirm' action='$action' method='post'><fieldset>";
503 - $form .= '<legend>' . wfMsg('requestacount-legend1') . '</legend>';
 539+ $form .= '<legend>' . wfMsgHtml('requestacount-legend1') . '</legend>';
504540 $form .= '<table cellpadding=\'4\'>';
505541 $form .= "<tr><td>".Xml::label( wfMsgHtml('username'), 'wpNewName' )."</td>";
506542 $form .= "<td>".Xml::input( 'wpNewName', 30, $row->acr_name, array('id' => 'wpNewName') )."</td></tr>\n";
507543
508 - $econf = $row->acr_email_authenticated ? ' <strong>'.wfMsg('confirmaccount-econf').'</strong>' : '';
 544+ $econf = $row->acr_email_authenticated ? ' <strong>'.wfMsgHtml('confirmaccount-econf').'</strong>' : '';
509545 $form .= "<tr><td>".wfMsgHtml('requestaccount-email')."</td>";
510546 $form .= "<td>".htmlspecialchars($row->acr_email).$econf."</td></tr>\n";
511547 $form .= '</table></fieldset>';
512548
513549 $form .= '<fieldset>';
514 - $form .= '<legend>' . wfMsg('requestacount-legend2') . '</legend>';
 550+ $form .= '<legend>' . wfMsgHtml('requestacount-legend2') . '</legend>';
515551 $form .= '<table cellpadding=\'4\'>';
516552 $form .= "<tr><td>".wfMsgHtml('requestaccount-real')."</td>";
517553 $form .= "<td>".htmlspecialchars($row->acr_real_name)."</td></tr>\n";
@@ -522,28 +558,27 @@
523559 $form .= '</fieldset>';
524560
525561 $form .= '<fieldset>';
526 - $form .= '<legend>' . wfMsg('requestacount-legend3') . '</legend>';
 562+ $form .= '<legend>' . wfMsgHtml('requestacount-legend3') . '</legend>';
527563 $form .= "<p>".wfMsgHtml('requestaccount-notes')."</p>\n";
528564 $form .= "<p><textarea tabindex='1' readonly name='wpNotes' id='wpNotes' rows='3' cols='80' style='width:100%'>" .
529565 htmlspecialchars($row->acr_notes) .
530566 "</textarea></p>";
531 - $form .= "<p>".wfMsgHtml('requestaccount-urls')."</p>\n";
532 - $form .= "<p><textarea tabindex='1' readonly name='wpUrls' id='wpUrls' rows='2' cols='80' style='width:100%'>" .
533 - htmlspecialchars($row->acr_urls) .
534 - "</textarea></p>";
 567+ $form .= "<p>".wfMsgHtml('confirmaccount-urls')."</p>\n";
 568+ $form .= "<p>".$this->parseLinks($row->acr_urls)."</p>";
535569 $form .= '</fieldset>';
536570
537 - $form .= Xml::hidden( 'title', $wgTitle->getPrefixedText() )."\n";
538 - $form .= Xml::hidden( 'action', 'accept' );
539 - $form .= Xml::hidden( 'acrid', $row->acr_id );
540 - $form .= Xml::hidden( 'wpEditToken', $wgUser->editToken() )."\n";
 571+ $form .= "<p>".wfMsgExt( 'confirmacount-confirm', array('parse') )."</p>\n";
 572+ $form .= "<p>".Xml::radio( 'wpSubmitType', 'accept', $this->submitType=='accept', array('id' => 'submitCreate') );
 573+ $form .= ' '.Xml::label( wfMsg('confirmacount-create'), 'submitCreate' )."</p>\n";
 574+ $form .= "<p>".Xml::radio( 'wpSubmitType', 'reject', $this->submitType=='reject', array('id' => 'submitDeny') );
 575+ $form .= ' '.Xml::label( wfMsg('confirmacount-deny'), 'submitDeny' )."</p>\n";
 576+
 577+ $form .= "<p>".wfMsgHtml('requestaccount-reason')."</p>\n";
 578+ $form .= "<p><textarea tabindex='1' name='wpReason' id='wpReason' rows='3' cols='80' style='width:80%'>" .
 579+ htmlspecialchars($this->reason) .
 580+ "</textarea></p>";
 581+ $form .= "<p>".Xml::submitButton( wfMsgHtml( 'confirmacount-submit') )."</p>\n";
541582
542 - $form .= "<p>".wfMsgExt( 'confirmacount-confirm', array('parse') )."</p>\n";
543 - $form .= '<div style="float: left">'.Xml::submitButton( wfMsgHtml( 'confirmacount-create') ).'</div>';
544 - $form .= '</form>';
545 - # Make deny use a separate form to avoid problems with people pressing enter
546 - $form .= "<form name='accountreject' action='$action' method='post'>";
547 - $form .= '<div style="float: right">'.Xml::submitButton( wfMsgHtml( 'confirmacount-deny') ) . "</div>";
548583 $form .= Xml::hidden( 'title', $wgTitle->getPrefixedText() )."\n";
549584 $form .= Xml::hidden( 'action', 'reject' );
550585 $form .= Xml::hidden( 'acrid', $row->acr_id );
@@ -553,6 +588,29 @@
554589 $wgOut->addHTML( $form );
555590 }
556591
 592+ /**
 593+ * Extract a list of all recognized HTTP links in the text.
 594+ * @param string $text
 595+ * @return string $linkList, list of clickable links
 596+ */
 597+ function parseLinks( $text ) {
 598+ global $wgParser, $wgTitle, $wgUser;
 599+
 600+ $linkList = '';
 601+ $links = explode( "\n", htmlspecialchars($text) );
 602+ foreach( $links as $link ) {
 603+ if( strpos($link,'.') )
 604+ $linkList .= "<li><a href='$link'>$link</a></li>\n";
 605+ }
 606+ if( $linkList == '' ) {
 607+ $linkList = wfMsgHtml( 'confirmaccount-nourls' );
 608+ } else {
 609+ $linkList = "<ul>$linkList</ul>";
 610+ }
 611+
 612+ return $linkList;
 613+ }
 614+
557615 function getRequest() {
558616 if( !$this->acrID )
559617 return false;
@@ -567,9 +625,9 @@
568626 global $wgOut, $wgTitle;
569627
570628 $wgOut->setPagetitle( wfMsg( "requestaccount" ) );
571 - if( $action == 'accept' )
 629+ if( $this->submitType == 'accept' )
572630 $wgOut->addWikiText( wfMsg( "confirmaccount-acc", $name ) );
573 - else
 631+ else if( $this->submitType == 'reject' )
574632 $wgOut->addWikiText( wfMsg( "confirmaccount-rej" ) );
575633
576634 $wgOut->returnToMain( true, $wgTitle );
@@ -622,10 +680,10 @@
623681
624682 $title = SpecialPage::getTitleFor( 'ConfirmAccounts' );
625683 if( $this->showRejects ) {
626 - $link = $this->skin->makeKnownLinkObj( $title, wfMsg('confirmaccount-review'),
 684+ $link = $this->skin->makeKnownLinkObj( $title, wfMsgHtml('confirmaccount-review'),
627685 'acrid='.$row->acr_id.'&wpShowRejects=1' );
628686 } else {
629 - $link = $this->skin->makeKnownLinkObj( $title, wfMsg('confirmaccount-review'), 'acrid='.$row->acr_id );
 687+ $link = $this->skin->makeKnownLinkObj( $title, wfMsgHtml('confirmaccount-review'), 'acrid='.$row->acr_id );
630688 }
631689 $time = $wgLang->timeanddate( wfTimestamp(TS_MW, $row->acr_registration), true );
632690
@@ -634,12 +692,12 @@
635693 if( $this->showRejects )
636694 $r .= ' <strong>'.wfMsgExt( 'confirmaccount-reject', array('parseinline'), $row->user_name ).'</strong>';
637695 $r .= '<br/><table cellspacing=\'1\' cellpadding=\'3\' border=\'1\' width=\'100%\'>';
638 - $r .= '<tr><td><strong>'.wfMsg('confirmaccount-name').'</strong></td><td width=\'100%\'>' .
 696+ $r .= '<tr><td><strong>'.wfMsgHtml('confirmaccount-name').'</strong></td><td width=\'100%\'>' .
639697 htmlspecialchars($row->acr_name) . '</td></tr>';
640 - $r .= '<tr><td><strong>'.wfMsg('confirmaccount-real').'</strong></td><td width=\'100%\'>' .
 698+ $r .= '<tr><td><strong>'.wfMsgHtml('confirmaccount-real').'</strong></td><td width=\'100%\'>' .
641699 htmlspecialchars($row->acr_real_name) . '</td></tr>';
642700 $econf = $row->acr_email_authenticated ? ' <strong>'.wfMsg('confirmaccount-econf').'</strong>' : '';
643 - $r .= '<tr><td><strong>'.wfMsg('confirmaccount-email').'</strong></td><td width=\'100%\'>' .
 701+ $r .= '<tr><td><strong>'.wfMsgHtml('confirmaccount-email').'</strong></td><td width=\'100%\'>' .
644702 htmlspecialchars($row->acr_email) . $econf.'</td></tr>';
645703 # Truncate this, blah blah...
646704 $bio = htmlspecialchars($row->acr_bio);
@@ -648,7 +706,7 @@
649707 $preview = substr( $preview, 0, strrpos($preview,' ') );
650708 $preview .= " . . .";
651709 }
652 - $r .= '<tr><td><strong>'.wfMsg('confirmaccount-bio').'</strong></td><td width=\'100%\'><i>'.$preview.'</i></td></tr>';
 710+ $r .= '<tr><td><strong>'.wfMsgHtml('confirmaccount-bio').'</strong></td><td width=\'100%\'><i>'.$preview.'</i></td></tr>';
653711 $r .= '</table></li>';
654712
655713 return $r;
Index: trunk/extensions/ConfirmAccount/ConfirmAccount.i18n.php
@@ -12,8 +12,7 @@
1313 'requestaccount' => 'Request account',
1414 'requestacount-text' => '\'\'\'Complete and submit the following form to request a user account\'\'\'.
1515
16 - Your email address will be sent a confirmation message once this request is submited. Please respond by clicking
17 - on the confirmation link provided by the the email.
 16+ Make sure that you first read the [[{{NS:PROJECT}}:Terms of Service|Terms of Service]] before requesting an account.
1817
1918 Once the account is approved, you will be emailed a notification message and the account will be usable at
2019 [[Special:Userlogin]].',
@@ -21,20 +20,27 @@
2221 'requestacount-legend1' => 'User account:',
2322 'requestacount-legend2' => 'Personal information:',
2423 'requestacount-legend3' => 'Other information:',
25 - 'requestacount-acc-text' => 'Your password will be emailed to you when your account is confirmed.',
 24+ 'requestacount-acc-text' => 'Your email address will be sent a confirmation message once this request is submited. Please respond by clicking
 25+ on the confirmation link provided by the the email. Also, your password will be emailed to you when your account is created.',
2626 'requestacount-ext-text' => 'The following information is kept private and will only be used for this request.
27 - You may want to list contacts such as fax/phone numbers to aid in identify confirmation.',
 27+ You may want to list contacts such a phone number to aid in identify confirmation.',
2828 'requestaccount-bio-text' => "Your biography will be set as the default content for your userpage. Try to include
2929 any credentials. Make sure you are comfortable publishing such information. Your name can be changed via [[Special:Preferences]].",
3030 'requestaccount-real' => 'Real name:',
 31+ 'requestaccount-same' => '(same as real name)',
3132 'requestaccount-email' => 'Email address:',
3233 'requestaccount-bio' => 'Personal biography:',
3334 'requestaccount-notes' => 'Additional notes:',
34 - 'requestaccount-urls' => 'Websites:',
 35+ 'requestaccount-urls' => 'List of websites (separated by newlines):',
 36+ 'requestaccount-agree' => 'You must certify that your real name is correct and that you agree to our Terms of Service.',
3537 'requestaccount-inuse' => 'Username is already in use in a pending account request.',
36 - 'requestacount-confirm' => 'Press the submit button below once you have confirmed that all the above is correct.',
 38+ 'requestaccount-tooshort' => 'Your biography must be at least be $1 words long.',
 39+ 'requestaccount-tos' => 'I have read and agree to abide by the Terms of Service of {{SITENAME}}.',
 40+ 'requestaccount-correct' => 'I certify that the name I have specified under "Real name" is in fact my own real name.',
3741 'requestacount-submit' => 'Request account',
3842 'requestaccount-sent' => 'Your account request has successfully been sent and is now pending review.',
 43+ 'request-account-econf' => 'Your e-mail address has been confirmed and will be listed as such in your account
 44+ request.',
3945 'requestaccount-email-subj' => '{{SITENAME}} e-mail address confirmation',
4046 'requestaccount-email-body' => 'Someone, probably you from IP address $1, has requested an
4147 account "$2" with this e-mail address on {{SITENAME}}.
@@ -73,12 +79,16 @@
7480 'confirmaccount-real' => 'Name',
7581 'confirmaccount-email' => 'Email',
7682 'confirmaccount-bio' => 'Biography',
 83+ 'confirmaccount-urls' => 'List of websites:',
 84+ 'confirmaccount-nourls' => '(None provided)',
7785 'confirmaccount-review' => 'Approve/Reject',
78 - 'confirmacount-confirm' => 'Use the buttons below to irreversibly confirm this request and create the account or deny it.',
 86+ 'confirmacount-confirm' => 'Use the buttons below to confirm this request or deny it.',
7987 'confirmaccount-econf' => '(confirmed)',
8088 'confirmaccount-reject' => '(rejected by [[User:$1|$1]])',
8189 'confirmacount-create' => 'Confirm (create account)',
8290 'confirmacount-deny' => 'Reject (delist)',
 91+ 'requestaccount-reason' => 'Comment (will be included in email):',
 92+ 'confirmacount-submit' => 'Confirm',
8393 'confirmaccount-acc' => 'Account request confirmed successfully; created new user account [[User:$1]].',
8494 'confirmaccount-rej' => 'Account request rejected successfully.',
8595 'confirmaccount-summary' => 'Creating user page with biography of new user.',
@@ -91,9 +101,24 @@
92102
93103 You may have been granted a slightly different name than requested. This could be due to name collisions
94104 or policy reasons. Also, please immediatly login, go to your preferences options, and set a new password.',
95 - 'confirmaccount-email-body2' => 'Sorry, your request for an account "$1" has been rejected on {{SITENAME}}.
 105+ 'confirmaccount-email-body2' => 'Your request for an account has been approved on {{SITENAME}}.
96106
 107+Account name: $1
 108+
 109+Password: $2
 110+
 111+$3
 112+
 113+You may have been granted a slightly different name than requested. This could be due to name collisions
 114+or policy reasons. Also, please immediatly login, go to your preferences options, and set a new password.',
 115+ 'confirmaccount-email-body3' => 'Sorry, your request for an account "$1" has been rejected on {{SITENAME}}.
 116+
97117 There are several ways this can happen. You may not have filled out the form correctly, did not provide adequate
98118 length in your responses, or otherwise failed to meet some policy criteria. There may be contact lists on site that
99119 you can use if you want to know more about user account policy.',
 120+ 'confirmaccount-email-body4' => 'Sorry, your request for an account "$1" has been rejected on {{SITENAME}}.
 121+
 122+$1
 123+
 124+There may be contact lists on site that you can use if you want to know more about user account policy.',
100125 );
\ No newline at end of file

Status & tagging log