diff --git a/docs/changelog/7.x.x.txt b/docs/changelog/7.x.x.txt
index 00efc7d00..34fbab37d 100644
--- a/docs/changelog/7.x.x.txt
+++ b/docs/changelog/7.x.x.txt
@@ -56,6 +56,7 @@
filters can now be created in HttpProxy wobject properties.
- Collaboration System wobjects can now be subclassed and still work with the
existing Thread and Post assets.
+ - fix: Added some additional i18n that was missing.
7.3.20
- fix: Deactivated Users Subscriptions (perlDreamer Consulting, LLC)
diff --git a/lib/WebGUI/Auth.pm b/lib/WebGUI/Auth.pm
index 15f4c3072..cd7dc1943 100644
--- a/lib/WebGUI/Auth.pm
+++ b/lib/WebGUI/Auth.pm
@@ -183,7 +183,7 @@ sub createAccount {
foreach my $field (@{WebGUI::ProfileField->getRegistrationFields($self->session)}) {
my $id = $field->getId;
my $label = $field->getLabel;
- my $emailAddress = {};
+ my $emailAddress = '';
if ($field->get('fieldName') eq "email" && $userInvitation ) {
my $code = $self->session->form->get('code')
|| $self->session->form->get('uniqueUserInvitationCode');
@@ -195,7 +195,7 @@ sub createAccount {
# Old-style field loop.
push @{$vars->{'create.form.profile'}},
- +{ 'profile.formElement' => $formField,
+ { 'profile.formElement' => $formField,
'profile.formElement.label' => $label,
'profile.required' => $required };
diff --git a/lib/WebGUI/Auth/WebGUI.pm b/lib/WebGUI/Auth/WebGUI.pm
index 1c86cc190..72f73226c 100644
--- a/lib/WebGUI/Auth/WebGUI.pm
+++ b/lib/WebGUI/Auth/WebGUI.pm
@@ -81,15 +81,15 @@ sub _isValidPassword {
}
if ($self->getSetting("requiredDigits") && !$self->_hasNumberCharacters($password, $self->getSetting("requiredDigits"))) {
- $error .= '
'.sprintf($i18n->echo("Password must conatain at least %s numeric characters."), $self->getSetting("requiredDigits")).'';
+ $error .= ''.sprintf($i18n->get('error password requiredDigits'), $self->getSetting("requiredDigits")).'';
}
if ($self->getSetting("nonWordCharacters") && !$self->_hasNonWordCharacters($password, $self->getSetting("nonWordCharacters"))) {
- $error .= ''.sprintf($i18n->echo("Password must contain at least %s non-word characters such as , ! @ etc."), $self->getSetting("nonWordCharacters")).'';
+ $error .= ''.sprintf($i18n->get('error password nonWordCharacters'), $self->getSetting("nonWordCharacters")).'';
}
if ($self->getSetting("requiredMixedCase") && !$self->_hasMixedCaseCharacters($password, $self->getSetting("requiredMixedCase"))) {
- $error .= ''.sprintf($i18n->echo("Password must contain at least %s upper case characters and at least one lowercase character (mixed case)."), $self->getSetting("requiredMixedCase")).'';
+ $error .= ''. sprintf($i18n->get('error password requiredMixedCase'), $self->getSetting("requiredMixedCase")).'';
}
$self->error($error);
@@ -130,12 +130,12 @@ sub authenticate {
#-------------------------------------------------------------------
sub createAccount {
- my $self = shift;
- my $message = shift;
- my $confirm = shift || $self->session->form->process("confirm");
- my $vars = shift || {};
-
- $self->session->errorHandler->warn('WebGUI::Auth::createAccount called');
+ my $self = shift;
+ my $message = shift;
+ my $confirm = shift || $self->session->form->process("confirm");
+ my $vars = shift || {};
+
+ #$self->session->errorHandler->warn('WebGUI::Auth::createAccount called');
if ($self->session->user->userId ne "1") {
return $self->displayAccount;
}
@@ -143,86 +143,114 @@ sub createAccount {
return $self->displayLogin;
}
my $i18n = WebGUI::International->new($self->session);
- $vars->{'create.message'} = $message if ($message);
+ $vars->{'create.message'} = $message if ($message);
$vars->{useCaptcha} = $self->session->setting->get("webguiUseCaptcha");
if ($vars->{useCaptcha}) {
use WebGUI::Form::Captcha;
my $captcha = WebGUI::Form::Captcha->new($self->session,{"name"=>"authWebGUI.captcha"});
- $vars->{'create.form.captcha'} = $captcha->toHtml.''.$captcha->get('subtext').'';
+ $vars->{'create.form.captcha'}
+ = $captcha->toHtml . '' . $captcha->get('subtext').'';
$vars->{'create.form.captcha.label'} = $i18n->get("captcha label","AuthWebGUI");
}
- $vars->{'create.form.username'} = WebGUI::Form::text($self->session,{"name"=>"authWebGUI.username","value"=>$self->session->form->process("authWebGUI.username")});
- $vars->{'create.form.username.label'} = $i18n->get(50);
- $vars->{'create.form.password'} = WebGUI::Form::password($self->session,{"name"=>"authWebGUI.identifier"});
- $vars->{'create.form.password.label'} = $i18n->get(51);
- $vars->{'create.form.passwordConfirm'} = WebGUI::Form::password($self->session,{"name"=>"authWebGUI.identifierConfirm"});
- $vars->{'create.form.passwordConfirm.label'} = $i18n->get(2,'AuthWebGUI');
- $vars->{'create.form.hidden'} = WebGUI::Form::hidden($self->session,{"name"=>"confirm","value"=>$confirm});
- $vars->{'recoverPassword.isAllowed'} = $self->getSetting("passwordRecovery");
- $vars->{'recoverPassword.url'} = $self->session->url->page('op=auth;method=recoverPassword');
- $vars->{'recoverPassword.label'} = $i18n->get(59);
- return $self->SUPER::createAccount("createAccountSave",$vars);
+ $vars->{'create.form.username'}
+ = WebGUI::Form::text($self->session, {
+ "name" => "authWebGUI.username",
+ "value" => $self->session->form->process("authWebGUI.username"),
+ });
+ $vars->{'create.form.username.label'} = $i18n->get(50);
+ $vars->{'create.form.password'}
+ = WebGUI::Form::password($self->session, {
+ "name" => "authWebGUI.identifier"
+ });
+ $vars->{'create.form.password.label'} = $i18n->get(51);
+ $vars->{'create.form.passwordConfirm'}
+ = WebGUI::Form::password($self->session, {
+ "name" => "authWebGUI.identifierConfirm"
+ });
+ $vars->{'create.form.passwordConfirm.label'} = $i18n->get(2,'AuthWebGUI');
+ $vars->{'create.form.hidden'}
+ = WebGUI::Form::hidden($self->session, {
+ "name" => "confirm",
+ "value" => $confirm
+ });
+ $vars->{'recoverPassword.isAllowed' } = $self->getSetting("passwordRecovery");
+ $vars->{'recoverPassword.url' } = $self->session->url->page('op=auth;method=recoverPassword');
+ $vars->{'recoverPassword.label' } = $i18n->get(59);
+ return $self->SUPER::createAccount("createAccountSave",$vars);
}
#-------------------------------------------------------------------
sub createAccountSave {
- my $self = shift;
- my $i18n = WebGUI::International->new($self->session);
+ my $self = shift;
+ my $session = $self->session;
+ my $form = $self->session->form;
+ my $setting = $self->session->setting;
+ my $i18n = WebGUI::International->new($session);
- return $self->displayAccount if ($self->session->user->userId ne "1");
+ # Logged in users cannot see this page
+ return $self->displayAccount if ($session->user->userId ne "1");
- #Make sure anonymous registration is enabled
- unless ($self->session->setting->get("anonymousRegistration") || $self->session->setting->get("userInvitationsEnabled")) {
- $self->session->errorHandler->security($i18n->get("no registration hack", "AuthWebGUI"));
- return $self->displayLogin;
- }
- my $username = $self->session->form->process('authWebGUI.username');
- my $password = $self->session->form->process('authWebGUI.identifier');
- my $passConfirm = $self->session->form->process('authWebGUI.identifierConfirm');
+ # Make sure anonymous registration is enabled
+ if (!$setting->get("anonymousRegistration") && !$setting->get("userInvitationsEnabled")) {
+ $session->errorHandler->security($i18n->get("no registration hack", "AuthWebGUI"));
+ return $self->displayLogin;
+ }
+ my $username = $form->process('authWebGUI.username');
+ my $password = $form->process('authWebGUI.identifier');
+ my $passConfirm = $form->process('authWebGUI.identifierConfirm');
- my $error;
- $error = $self->error unless($self->validUsername($username));
- if ($self->session->setting->get("webguiUseCaptcha")) {
- unless ($self->session->form->process('authWebGUI.captcha', "Captcha")) {
- $error .= $i18n->get("captcha failure","AuthWebGUI");
- }
- }
- $error .= $self->error unless($self->_isValidPassword($password,$passConfirm));
- my ($profile, $temp, $warning) = WebGUI::Operation::Profile::validateProfileData($self->session);
- $error .= $temp;
-
- return $self->createAccount($error) unless ($error eq "");
- # If Email address is not unique, a warning is displayed
- if ($warning ne "" && !$self->session->form->process("confirm")) {
- return $self->createAccount(''.$i18n->get(1078).'', 1);
- }
+ # Validate input
+ my $error;
+ $error = $self->error unless($self->validUsername($username));
+ if ($setting->get("webguiUseCaptcha")) {
+ unless ($form->process('authWebGUI.captcha', "Captcha")) {
+ $error .= $i18n->get("captcha failure","AuthWebGUI");
+ }
+ }
+ $error .= $self->error unless($self->_isValidPassword($password,$passConfirm));
+ my ($profile, $temp, $warning) = WebGUI::Operation::Profile::validateProfileData($self->session);
+ $error .= $temp;
+
+ return $self->createAccount($error) unless ($error eq "");
- my $properties;
- $properties->{changeUsername} = $self->session->setting->get("webguiChangeUsername");
- $properties->{changePassword} = $self->session->setting->get("webguiChangePassword");
- $properties->{identifier} = Digest::MD5::md5_base64($password);
- $properties->{passwordLastUpdated} =$self->session->datetime->time();
- $properties->{passwordTimeout} = $self->session->setting->get("webguiPasswordTimeout");
- $properties->{status} = 'Deactivated' if ($self->session->setting->get("webguiValidateEmail"));
- $self->SUPER::createAccountSave($username,$properties,$password,$profile);
- if ($self->session->setting->get("webguiValidateEmail")) {
- my $key = $self->session->id->generate();
- $self->saveParams($self->userId,"WebGUI",{emailValidationKey=>$key});
- my $mail = WebGUI::Mail::Send->create($self->session,{
- to=>$profile->{email},
- subject=>$i18n->get('email address validation email subject','AuthWebGUI')
- });
- $mail->addText($i18n->get('email address validation email body','AuthWebGUI')."\n\n".$self->session->url->getSiteURL().$self->session->url->page("op=auth;method=validateEmail;key=".$key));
- $mail->addFooter;
- $mail->send;
- $self->user->status("Deactivated");
- $self->session->var->end($self->session->var->get("sessionId"));
- $self->session->var->start(1,$self->session->getId);
- my $u = WebGUI::User->new($self->session,1);
- $self->{user} = $u;
- $self->logout;
- return $self->displayLogin($i18n->get('check email for validation','AuthWebGUI'));
- }
+ # If Email address is not unique, a warning is displayed
+ if ($warning ne "" && !$self->session->form->process("confirm")) {
+ return $self->createAccount(''.$i18n->get(1078).'', 1);
+ }
+
+ # Create the new account
+ my $properties;
+ $properties->{ changeUsername } = $setting->get("webguiChangeUsername");
+ $properties->{ changePassword } = $setting->get("webguiChangePassword");
+ $properties->{ identifier } = Digest::MD5::md5_base64($password);
+ $properties->{ passwordLastUpdated } = $session->datetime->time();
+ $properties->{ passwordTimeout } = $setting->get("webguiPasswordTimeout");
+ $properties->{ status } = 'Deactivated' if ($setting->get("webguiValidateEmail"));
+ $self->SUPER::createAccountSave($username,$properties,$password,$profile);
+
+ # Send validation e-mail if required
+ if ($setting->get("webguiValidateEmail")) {
+ my $key = $session->id->generate();
+ $self->saveParams($self->userId,"WebGUI",{emailValidationKey=>$key});
+ my $mail = WebGUI::Mail::Send->create($self->session,{
+ to => $profile->{email},
+ subject => $i18n->get('email address validation email subject','AuthWebGUI')
+ });
+ $mail->addText(
+ $i18n->get('email address validation email body','AuthWebGUI') . "\n\n"
+ . $session->url->getSiteURL()
+ . $session->url->page("op=auth;method=validateEmail;key=".$key)
+ );
+ $mail->addFooter;
+ $mail->send;
+ $self->user->status("Deactivated");
+ $session->var->end($session->var->get("sessionId"));
+ $session->var->start(1,$session->getId);
+ my $u = WebGUI::User->new($session,1);
+ $self->{user} = $u;
+ $self->logout;
+ return $self->displayLogin($i18n->get('check email for validation','AuthWebGUI'));
+ }
return undef;
}
@@ -382,17 +410,17 @@ sub editUserSettingsForm {
);
$f->integer(
-name => "webguiRequiredDigits",
- -label => $i18n->echo("Number of digits required in password"),
+ -label => $i18n->get('setting webguiRequiredDigits'),
-value => $self->session->setting->get("webguiRequiredDigits")
);
$f->integer(
-name => "webguiNonWordCharacters",
- -label => $i18n->echo("Number of non-word characters required in password"),
+ -label => $i18n->get('setting webguiNonWordCharacters'),
-value => $self->session->setting->get("webguiNonWordCharacters")
);
$f->integer(
-name => "webguiRequiredMixedCase",
- -label => $i18n->echo("Number of upper case case characters required in password"),
+ -label => $i18n->get('setting webguiRequiredMixedCase'),
-value => $self->session->setting->get("webguiRequiredMixedCase")
);
$f->interval(
diff --git a/lib/WebGUI/i18n/English/AuthWebGUI.pm b/lib/WebGUI/i18n/English/AuthWebGUI.pm
index fe5b95f97..88427bd53 100644
--- a/lib/WebGUI/i18n/English/AuthWebGUI.pm
+++ b/lib/WebGUI/i18n/English/AuthWebGUI.pm
@@ -543,6 +543,36 @@ our $I18N = {
lastUpdated => 1165402566,
},
+ 'error password requiredDigits' => {
+ message => q{Password must contain at least %s numeric characters.},
+ lastUpdated => 0,
+ },
+
+ 'error password nonWordCharacters' => {
+ message => q{Password must contain at least %s non-word characters (such as '!', '@', or '$').},
+ lastUpdated => 0,
+ },
+
+ 'error password requiredMixedCase' => {
+ message => q{Password must contain at least %s upper case characters and at least
+ one lowercase character (mixed case)."},
+ lastUpdated => 0,
+ },
+
+ 'setting webguiRequiredDigits' => {
+ message => q{Number of digits required in password},
+ lastUpdated => 0,
+ },
+
+ 'setting webguiNonWordCharacters' => {
+ message => q{Number of non-word characters required in password},
+ lastUpdated => 0,
+ },
+
+ 'setting webguiRequiredMixedCase' => {
+ message => q{Number of upper-case characters required in password},
+ lastUpdated => 0,
+ },
};
1;