*/
function addNewAccount() {
global $wgUser, $wgEmailAuthentication;
-
+
+ # Create the account and abort if there's a problem doing so
$u = $this->addNewAccountInternal();
-
- if ($u == NULL) {
+ if( $u == NULL )
return;
- }
-
- $wgUser = $u;
- $wgUser->setCookies();
-
- $wgUser->saveSettings();
- if( $wgEmailAuthentication && $wgUser->isValidEmailAddr( $wgUser->getEmail() ) ) {
- $wgUser->sendConfirmationMail();
- }
-
+
+ # Save user settings and send out an email authentication message if needed
+ $u->saveSettings();
+ if( $wgEmailAuthentication && User::isValidEmailAddr( $u->getEmail() ) )
+ $u->sendConfirmationMail();
+
+ # Call hooks
wfRunHooks( 'AddNewAccount', array( $u ) );
-
- if( $this->hasSessionCookie() ) {
- return $this->successfulLogin( wfMsg( 'welcomecreation', $wgUser->getName() ), false );
+
+ # If not logged in, assume the new account as the current one and set session cookies
+ # then show a "welcome" message or a "need cookies" message as needed
+ if( $wgUser->isAnon() ) {
+ $wgUser = $u;
+ $wgUser->setCookies();
+ if( $this->hasSessionCookie() ) {
+ return $this->successfulLogin( wfMsg( 'welcomecreation', $wgUser->getName() ), false );
+ } else {
+ return $this->cookieRedirectCheck( 'new' );
+ }
} else {
- return $this->cookieRedirectCheck( 'new' );
+ # Confirm that the account was created
+ global $wgOut;
+ $skin = $wgUser->getSkin();
+ $self = Title::makeTitle( NS_SPECIAL, 'Userlogin' );
+ $wgOut->setPageTitle( wfMsgHtml( 'accountcreated' ) );
+ $wgOut->setArticleRelated( false );
+ $wgOut->setRobotPolicy( 'noindex,nofollow' );
+ $wgOut->addHtml( wfMsgWikiHtml( 'accountcreatedtext', $u->getName() ) );
+ $wgOut->returnToMain( $self->getPrefixedText() );
+ return true;
}
}
'emailconfirmlink' => 'Confirm your e-mail address',
'invalidemailaddress' => 'The e-mail address cannot be accepted as it appears to have an invalid
format. Please enter a well-formatted address or empty that field.',
+'accountcreated' => 'Account created',
+'accountcreatedtext' => 'The user account for $1 has been created.',
# Edit page toolbar
'bold_sample'=>'Bold text',