new i18n api requiring $session
This commit is contained in:
parent
877bf082a0
commit
01d95a265e
141 changed files with 2266 additions and 1745 deletions
|
|
@ -26,15 +26,14 @@ use Net::LDAP;
|
|||
|
||||
our @ISA = qw(WebGUI::Auth);
|
||||
|
||||
my %ldapStatusCode = map { $_ => WebGUI::International::get("LDAPLink_".$_, "AuthLDAP") }
|
||||
(0..21, 32,33,34,36, 48..54, 64..71, 80);
|
||||
|
||||
#-------------------------------------------------------------------
|
||||
sub _isValidLDAPUser {
|
||||
my $self = shift;
|
||||
my ($uri, $error, $ldap, $search, $auth, $connectDN);
|
||||
my $i18n = WebGUI::International->new($self->session);
|
||||
my $connection = $self->{_connection};
|
||||
$uri = URI->new($connection->{ldapURL}) or $error = WebGUI::International::get(2,'AuthLDAP');
|
||||
$uri = URI->new($connection->{ldapURL}) or $error = $i18n->get(2,'AuthLDAP');
|
||||
if($error ne ""){
|
||||
$self->error($error);
|
||||
return 0;
|
||||
|
|
@ -55,26 +54,26 @@ sub _isValidLDAPUser {
|
|||
$connectDN = $search->entry(0)->get_value($connection->{ldapUserRDN});
|
||||
}
|
||||
$ldap->unbind;
|
||||
$ldap = Net::LDAP->new($uri->host, (port=>$uri->port)) or $error .= WebGUI::International::get(2,'AuthLDAP');
|
||||
$ldap = Net::LDAP->new($uri->host, (port=>$uri->port)) or $error .= $i18n->get(2,'AuthLDAP');
|
||||
$auth = $ldap->bind(dn=>$connectDN, password=>$self->session->form->process("'authLDAP_identifier'"));
|
||||
if ($auth->code == 48 || $auth->code == 49) {
|
||||
$error .= '<li>'.WebGUI::International::get(68).'</li>';
|
||||
$error .= '<li>'.$i18n->get(68).'</li>';
|
||||
$self->session->errorHandler->warn("Invalid LDAP information for registration of LDAP ID: ".$self->session->form->process("'authLDAP_ldapId'"));
|
||||
} elsif ($auth->code > 0) {
|
||||
$error .= '<li>LDAP error "'.$ldapStatusCode{$auth->code}.'" occured. '.WebGUI::International::get(69).'</li>';
|
||||
$self->session->errorHandler->error("LDAP error: ".$ldapStatusCode{$auth->code});
|
||||
$error .= '<li>LDAP error "'.$self->ldapStatusCode($auth->code).'" occured. '.$i18n->get(69).'</li>';
|
||||
$self->session->errorHandler->error("LDAP error: ".$self->ldapStatusCode($auth->code));
|
||||
}
|
||||
$ldap->unbind;
|
||||
} else {
|
||||
$error .= '<li>'.WebGUI::International::get(68).'</li>';
|
||||
$error .= '<li>'.$i18n->get(68).'</li>';
|
||||
$self->session->errorHandler->warn("Invalid LDAP information for registration of LDAP ID: ".$self->session->form->process("'authLDAP_ldapId'"));
|
||||
}
|
||||
} else {
|
||||
$error = WebGUI::International::get(2,'AuthLDAP');
|
||||
$error = $i18n->get(2,'AuthLDAP');
|
||||
$self->session->errorHandler->error("Couldn't bind to LDAP server: ".$connection->{ldapURL});
|
||||
}
|
||||
} else {
|
||||
$error = WebGUI::International::get(2,'AuthLDAP');
|
||||
$error = $i18n->get(2,'AuthLDAP');
|
||||
$self->session->errorHandler->error("Couldn't create LDAP object: ".$uri->host);
|
||||
}
|
||||
$self->error($error);
|
||||
|
|
@ -98,6 +97,7 @@ sub addUserForm {
|
|||
my $ldapLinks = $self->session->db->buildHashRef("select ldapLinkId,ldapUrl from ldapLink");
|
||||
my $f = WebGUI::HTMLForm->new($self->session);
|
||||
my $jscript = "";
|
||||
my $i18n = WebGUI::International->new($self->session,'AuthLDAP');
|
||||
if(scalar(keys %{$ldapLinks}) > 0) {
|
||||
my $jsArray = "";
|
||||
foreach my $key (keys %{$ldapLinks}) {
|
||||
|
|
@ -114,8 +114,8 @@ sub addUserForm {
|
|||
</script>|;
|
||||
$f->selectBox(
|
||||
-name=>"authLDAP_ldapConnection",
|
||||
-label=>WebGUI::International::get("ldapConnection",'AuthLDAP'),
|
||||
-hoverHelp=>WebGUI::International::get("ldapConnection description",'AuthLDAP'),
|
||||
-label=>$i18n->get("ldapConnection"),
|
||||
-hoverHelp=>$i18n->get("ldapConnection description"),
|
||||
-options=>WebGUI::LDAPLink->getList($self->session,),
|
||||
-value=>[$ldapConnection],
|
||||
-extras=>q|onchange="this.form.authLDAP_ldapUrl.value=ldapValue[this.options[this.selectedIndex].value];"|
|
||||
|
|
@ -123,12 +123,12 @@ sub addUserForm {
|
|||
}
|
||||
$f->url(
|
||||
-name => "authLDAP_ldapUrl",
|
||||
-label => WebGUI::International::get(3,'AuthLDAP'),
|
||||
-label => $i18n->get(3),
|
||||
-value => $ldapUrl,
|
||||
);
|
||||
$f->text(
|
||||
-name => "authLDAP_connectDN",
|
||||
-label => WebGUI::International::get(4,'AuthLDAP'),
|
||||
-label => $i18n->get(4),
|
||||
-value => $connectDN,
|
||||
);
|
||||
$self->session->style->setRawHeadTags($jscript);
|
||||
|
|
@ -162,8 +162,9 @@ sub authenticate {
|
|||
my $userData = $self->getParams;
|
||||
|
||||
|
||||
$error .= WebGUI::International::get(12,'AuthLDAP') if ($userData->{ldapUrl} eq "");
|
||||
$error .= WebGUI::International::get(11,'AuthLDAP') if ($userData->{connectDN} eq "");
|
||||
my $i18n = WebGUI::International->new($self->session);
|
||||
$error .= $i18n->get(12,'AuthLDAP') if ($userData->{ldapUrl} eq "");
|
||||
$error .= $i18n->get(11,'AuthLDAP') if ($userData->{connectDN} eq "");
|
||||
|
||||
$self->error($error);
|
||||
if($error ne ""){
|
||||
|
|
@ -172,21 +173,21 @@ sub authenticate {
|
|||
}
|
||||
|
||||
if($uri = URI->new($userData->{ldapUrl})) {
|
||||
$ldap = Net::LDAP->new($uri->host, (port=>$uri->port)) or $error .= WebGUI::International::get(2,'AuthLDAP');
|
||||
$ldap = Net::LDAP->new($uri->host, (port=>$uri->port)) or $error .= $i18n->get(2,'AuthLDAP');
|
||||
if($error ne ""){
|
||||
$self->user(WebGUI::User->new($self->session,1));
|
||||
return 0 ;
|
||||
}
|
||||
$auth = $ldap->bind(dn=>$userData->{connectDN}, password=>$identifier);
|
||||
if ($auth->code == 48 || $auth->code == 49){
|
||||
$error .= WebGUI::International::get(68);
|
||||
$error .= $i18n->get(68);
|
||||
}elsif($auth->code > 0){
|
||||
$error .= 'LDAP error "'.$ldapStatusCode{$auth->code}.'" occured.'.WebGUI::International::get(69);
|
||||
$self->session->errorHandler->error("LDAP error: ".$ldapStatusCode{$auth->code});
|
||||
$error .= 'LDAP error "'.$self->ldapStatusCode($auth->code).'" occured.'.$i18n->get(69);
|
||||
$self->session->errorHandler->error("LDAP error: ".$self->ldapStatusCode($auth->code));
|
||||
}
|
||||
$ldap->unbind;
|
||||
}else{
|
||||
$error .= WebGUI::International::get(13,'AuthLDAP');
|
||||
$error .= $i18n->get(13,'AuthLDAP');
|
||||
$self->session->errorHandler->error("Could not process this LDAP URL: ".$userData->{ldapUrl});
|
||||
}
|
||||
if($error ne ""){
|
||||
|
|
@ -213,7 +214,8 @@ sub createAccount {
|
|||
}
|
||||
my $connection = $self->{_connection};
|
||||
$vars->{'create.message'} = $_[0] if ($_[0]);
|
||||
$vars->{'create.form.ldapConnection.label'} = WebGUI::International::get("ldapConnection","AuthLDAP");
|
||||
my $i18n = WebGUI::International->new($self->session,"AuthLDAP");
|
||||
$vars->{'create.form.ldapConnection.label'} = $i18n->get("ldapConnection");
|
||||
|
||||
my $url = $self->session->url->page("op=auth;method=createAccount;connection=");
|
||||
$vars->{'create.form.ldapConnection'} = WebGUI::Form::selectBox({
|
||||
|
|
@ -237,10 +239,11 @@ sub createAccountSave {
|
|||
my $username = $self->session->form->get('authLDAP_ldapId');
|
||||
my $password = $self->session->form->get('authLDAP_identifier');
|
||||
my $error = "";
|
||||
my $i18n = WebGUI::International->new($self->session);
|
||||
|
||||
#Validate user in LDAP
|
||||
if(!$self->_isValidLDAPUser()){
|
||||
return $self->createAccount("<h1>".WebGUI::International::get(70)."</h1>".$self->error);
|
||||
return $self->createAccount("<h1>".$i18n->get(70)."</h1>".$self->error);
|
||||
}
|
||||
|
||||
my $connection = $self->{_connection};
|
||||
|
|
@ -271,11 +274,11 @@ sub createAccountSave {
|
|||
#Validate profile data.
|
||||
my ($profile, $temp, $warning) = WebGUI::Operation::Profile::validateProfileData();
|
||||
$error .= $temp;
|
||||
return $self->createAccount("<h1>".WebGUI::International::get(70)."</h1>".$error) unless ($error eq "");
|
||||
return $self->createAccount("<h1>".$i18n->get(70)."</h1>".$error) unless ($error eq "");
|
||||
#If Email address is not unique, a warning is displayed
|
||||
if($warning ne "" && !$self->session->form->process("confirm")){
|
||||
$self->session->form->process("confirm") = 1;
|
||||
return $self->createAccount('<li>'.WebGUI::International::get(1078).'</li>');
|
||||
return $self->createAccount('<li>'.$i18n->get(1078).'</li>');
|
||||
}
|
||||
|
||||
my $properties;
|
||||
|
|
@ -304,11 +307,12 @@ sub displayAccount {
|
|||
my $self = shift;
|
||||
my $vars;
|
||||
return $self->displayLogin($_[0]) if ($self->userId eq '1');
|
||||
$vars->{displayTitle} = '<h1>'.WebGUI::International::get(61).'</h1>';
|
||||
$vars->{'account.message'} = WebGUI::International::get(856);
|
||||
my $i18n = WebGUI::International->new($self->session);
|
||||
$vars->{displayTitle} = '<h1>'.$i18n->get(61).'</h1>';
|
||||
$vars->{'account.message'} = $i18n->get(856);
|
||||
if($self->session->setting->get("useKarma")){
|
||||
$vars->{'account.form.karma'} = $self->session->user->profileField("karma");
|
||||
$vars->{'account.form.karma.label'} = WebGUI::International::get(537);
|
||||
$vars->{'account.form.karma.label'} = $i18n->get(537);
|
||||
}
|
||||
$vars->{'account.options'} = WebGUI::Operation::Shared::accountOptions();
|
||||
return WebGUI::Asset::Template->new($self->session,$self->getAccountTemplateId)->process($vars);
|
||||
|
|
@ -365,7 +369,8 @@ sub editUserSettingsForm {
|
|||
options=>WebGUI::LDAPLink->getList($self->session,),
|
||||
value=>[$self->session->setting->get("ldapConnection")]
|
||||
});
|
||||
my $ldapConnectionLabel = WebGUI::International::get("ldapConnection",'AuthLDAP');
|
||||
my $i18n = WebGUI::International->new($self->session,'AuthLDAP');
|
||||
my $ldapConnectionLabel = $i18n->get("ldapConnection");
|
||||
my $buttons = "";
|
||||
if($self->session->setting->get("ldapConnection")) {
|
||||
$buttons = $self->session->icon->edit("op=editLDAPLink;returnUrl=".$self->session->url->escape($self->session->url->page("op=editSettings")).";llid=".$self->session->setting->get("ldapConnection"));
|
||||
|
|
@ -398,7 +403,8 @@ sub login {
|
|||
my $self = shift;
|
||||
if(!$self->authenticate($self->session->form->process("username"),$self->session->form->process("identifier"))){
|
||||
$self->session->errorHandler->security("login to account ".$self->session->form->process("username")." with invalid information.");
|
||||
return $self->displayLogin("<h1>".WebGUI::International::get(70)."</h1>".$self->error);
|
||||
my $i18n = WebGUI::International->new($self->session);
|
||||
return $self->displayLogin("<h1>".$i18n->get(70)."</h1>".$self->error);
|
||||
}
|
||||
$self->session->scratch->delete("ldapConnection");
|
||||
return $self->SUPER::login(); #Standard login routine for login
|
||||
|
|
@ -412,8 +418,19 @@ sub new {
|
|||
my @callable = ('createAccount','deactivateAccount','displayAccount','displayLogin','login','logout','createAccountSave','deactivateAccountConfirm');
|
||||
my $self = WebGUI::Auth->new($authMethod,$userId,\@callable);
|
||||
$self->{_connection} = WebGUI::LDAPLink->new($self->session,($self->session->scratch->get("ldapConnection") || $self->session->setting->get("ldapConnection")))->get;
|
||||
my $i18n = WebGUI::International->new($self->session, "AuthLDAP");
|
||||
my %ldapStatusCode = map { $_ => $i18n->get("LDAPLink_".$_) }
|
||||
(0..21, 32,33,34,36, 48..54, 64..71, 80);
|
||||
$self->{_statusCode} = \%ldapStatusCode;
|
||||
bless $self, $class;
|
||||
}
|
||||
|
||||
#-------------------------------------------------------------------
|
||||
sub ldapStatusCode {
|
||||
my ($self, $code) = @_;
|
||||
return $self->{_statusCode}->{$code};
|
||||
|
||||
}
|
||||
|
||||
1;
|
||||
|
||||
|
|
|
|||
|
|
@ -42,15 +42,16 @@ sub _isValidPassword {
|
|||
WebGUI::Macro::negate(\$confirm);
|
||||
my $error = "";
|
||||
|
||||
my $i18n = WebGUI::International->new($self->session,'AuthWebGUI');
|
||||
if ($password ne $confirm) {
|
||||
$error .= '<li>'.WebGUI::International::get(3,'AuthWebGUI').'</li>';
|
||||
$error .= '<li>'.$i18n->get(3).'</li>';
|
||||
}
|
||||
if ($password eq "") {
|
||||
$error .= '<li>'.WebGUI::International::get(4,'AuthWebGUI').'</li>';
|
||||
$error .= '<li>'.$i18n->get(4).'</li>';
|
||||
}
|
||||
|
||||
if ($self->getSetting("passwordLength") && length($password) < $self->getSetting("passwordLength")){
|
||||
$error .= '<li>'.WebGUI::International::get(7,'AuthWebGUI')." ".$self->getSetting("passwordLength").'</li>';
|
||||
$error .= '<li>'.$i18n->get(7)." ".$self->getSetting("passwordLength").'</li>';
|
||||
}
|
||||
|
||||
$self->error($error);
|
||||
|
|
@ -81,14 +82,15 @@ sub addUserForm {
|
|||
my $self = shift;
|
||||
my $userData = $self->getParams;
|
||||
my $f = WebGUI::HTMLForm->new($self->session);
|
||||
my $i18n = WebGUI::International->new($self->session);
|
||||
$f->password(
|
||||
name=>"authWebGUI.identifier",
|
||||
label=>WebGUI::International::get(51),
|
||||
label=>$i18n->get(51),
|
||||
value=>"password"
|
||||
);
|
||||
$f->interval(
|
||||
-name=>"authWebGUI.passwordTimeout",
|
||||
-label=>WebGUI::International::get(16,'AuthWebGUI'),
|
||||
-label=>$i18n->get(16,'AuthWebGUI'),
|
||||
-value=>$userData->{passwordTimeout},
|
||||
-defaultValue=>$self->session->setting->get("webguiPasswordTimeout")
|
||||
);
|
||||
|
|
@ -99,7 +101,7 @@ sub addUserForm {
|
|||
$f->yesNo(
|
||||
-name=>"authWebGUI.changeUsername",
|
||||
-value=>$userChange,
|
||||
-label=>WebGUI::International::get(21,'AuthWebGUI')
|
||||
-label=>$i18n->get(21,'AuthWebGUI')
|
||||
);
|
||||
my $passwordChange = $self->session->setting->get("webguiChangePassword");
|
||||
if($passwordChange || $passwordChange eq "0"){
|
||||
|
|
@ -108,7 +110,7 @@ sub addUserForm {
|
|||
$f->yesNo(
|
||||
-name=>"authWebGUI.changePassword",
|
||||
-value=>$passwordChange,
|
||||
-label=>WebGUI::International::get(20,'AuthWebGUI')
|
||||
-label=>$i18n->get(20,'AuthWebGUI')
|
||||
);
|
||||
return $f->printRowsOnly;
|
||||
}
|
||||
|
|
@ -164,6 +166,7 @@ sub createAccount {
|
|||
} elsif (!$self->session->setting->get("anonymousRegistration")) {
|
||||
return $self->displayLogin;
|
||||
}
|
||||
my $i18n = WebGUI::International->new($self->session);
|
||||
$vars->{'create.message'} = $_[0] if ($_[0]);
|
||||
my $storage = WebGUI::Storage::Image->createTemp;
|
||||
my ($filename, $challenge) = $storage->addFileFromCaptcha;
|
||||
|
|
@ -172,18 +175,18 @@ sub createAccount {
|
|||
$vars->{'create.form.captcha'} = WebGUI::Form::text($self->session,{"name"=>"authWebGUI.captcha", size=>6, maxlength=>6})
|
||||
.WebGUI::Form::hidden($self->session,{name=>"authWebGUI.captcha.validation", value=>Digest::MD5::md5_base64(lc($challenge))})
|
||||
.'<img src="'.$storage->getUrl($filename).'" border="0" alt="captcha" align="middle" />';
|
||||
$vars->{'create.form.captcha.label'} = WebGUI::International::get("captcha label","AuthWebGUI");
|
||||
$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'} = WebGUI::International::get(50);
|
||||
$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'} = WebGUI::International::get(51);
|
||||
$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'} = WebGUI::International::get(2,'AuthWebGUI');
|
||||
$vars->{'create.form.passwordConfirm.label'} = $i18n->get(2,'AuthWebGUI');
|
||||
$vars->{'create.form.hidden'} = WebGUI::Form::hidden($self->session,{"name"=>"confirm","value"=>$self->session->form->process("confirm")});
|
||||
$vars->{'recoverPassword.isAllowed'} = $self->getSetting("passwordRecovery");
|
||||
$vars->{'recoverPassword.url'} = $self->session->url->page('op=auth;method=recoverPassword');
|
||||
$vars->{'recoverPassword.label'} = WebGUI::International::get(59);
|
||||
$vars->{'recoverPassword.label'} = $i18n->get(59);
|
||||
return $self->SUPER::createAccount("createAccountSave",$vars);
|
||||
}
|
||||
|
||||
|
|
@ -198,10 +201,11 @@ sub createAccountSave {
|
|||
my $passConfirm = $self->session->form->get('authWebGUI.identifierConfirm');
|
||||
|
||||
my $error;
|
||||
my $i18n = WebGUI::International->new($self->session);
|
||||
$error = $self->error unless($self->validUsername($username));
|
||||
if ($self->session->setting->get("webguiUseCaptcha")) {
|
||||
unless ($self->session->form->get('authWebGUI.captcha.validation') eq Digest::MD5::md5_base64(lc($self->session->form->get('authWebGUI.captcha')))) {
|
||||
$error .= WebGUI::International::get("captcha failure","AuthWebGUI");
|
||||
$error .= $i18n->get("captcha failure","AuthWebGUI");
|
||||
}
|
||||
}
|
||||
$error .= $self->error unless($self->_isValidPassword($password,$passConfirm));
|
||||
|
|
@ -213,7 +217,7 @@ sub createAccountSave {
|
|||
#If Email address is not unique, a warning is displayed
|
||||
if($warning ne "" && !$self->session->form->process("confirm")){
|
||||
$self->session->form->process("confirm") = 1;
|
||||
return $self->createAccount('<li>'.WebGUI::International::get(1078).'</li>');
|
||||
return $self->createAccount('<li>'.$i18n->get(1078).'</li>');
|
||||
}
|
||||
|
||||
my $properties;
|
||||
|
|
@ -229,8 +233,8 @@ sub createAccountSave {
|
|||
$self->saveParams($self->userId,"WebGUI",{emailValidationKey=>$key});
|
||||
WebGUI::Mail::send(
|
||||
$profile->{email},
|
||||
WebGUI::International::get('email address validation email subject','AuthWebGUI'),
|
||||
WebGUI::International::get('email address validation email body','AuthWebGUI')."\n\n".$self->session->url->getSiteURL().$self->session->url->page("op=auth;method=validateEmail;key=".$key),
|
||||
$i18n->get('email address validation email subject','AuthWebGUI'),
|
||||
$i18n->get('email address validation email body','AuthWebGUI')."\n\n".$self->session->url->getSiteURL().$self->session->url->page("op=auth;method=validateEmail;key=".$key),
|
||||
);
|
||||
$self->user->status("Deactivated");
|
||||
$self->session->var->end($self->session->var->get("sessionId"));
|
||||
|
|
@ -238,7 +242,7 @@ sub createAccountSave {
|
|||
my $u = WebGUI::User->new($self->session,1);
|
||||
$self->{user} = $u;
|
||||
$self->logout;
|
||||
return $self->displayLogin(WebGUI::International::get('check email for validation','AuthWebGUI'));
|
||||
return $self->displayLogin($i18n->get('check email for validation','AuthWebGUI'));
|
||||
}
|
||||
return "";
|
||||
}
|
||||
|
|
@ -262,22 +266,23 @@ sub displayAccount {
|
|||
my $self = shift;
|
||||
my $vars;
|
||||
return $self->displayLogin($_[0]) if ($self->userId eq '1');
|
||||
my $i18n = WebGUI::International->new($self->session);
|
||||
my $userData = $self->getParams;
|
||||
$vars->{'account.message'} = $_[0] if ($_[0]);
|
||||
$vars->{'account.noform'} = 1;
|
||||
if($userData->{changeUsername} || (!defined $userData->{changeUsername} && $self->session->setting->get("webguiChangeUsername"))){
|
||||
$vars->{'account.form.username'} = WebGUI::Form::text($self->session,{"name"=>"authWebGUI.username","value"=>$self->username});
|
||||
$vars->{'account.form.username.label'} = WebGUI::International::get(50);
|
||||
$vars->{'account.form.username.label'} = $i18n->get(50);
|
||||
$vars->{'account.noform'} = 0;
|
||||
}
|
||||
if($userData->{changePassword} || (!defined $userData->{changePassword} && $self->session->setting->get("webguiChangePassword"))){
|
||||
$vars->{'account.form.password'} = WebGUI::Form::password($self->session,{"name"=>"authWebGUI.identifier","value"=>"password"});
|
||||
$vars->{'account.form.password.label'} = WebGUI::International::get(51);
|
||||
$vars->{'account.form.password.label'} = $i18n->get(51);
|
||||
$vars->{'account.form.passwordConfirm'} = WebGUI::Form::password($self->session,{"name"=>"authWebGUI.identifierConfirm","value"=>"password"});
|
||||
$vars->{'account.form.passwordConfirm.label'} = WebGUI::International::get(2,'AuthWebGUI');
|
||||
$vars->{'account.form.passwordConfirm.label'} = $i18n->get(2,'AuthWebGUI');
|
||||
$vars->{'account.noform'} = 0;
|
||||
}
|
||||
$vars->{'account.nofields'} = WebGUI::International::get(22,'AuthWebGUI');
|
||||
$vars->{'account.nofields'} = $i18n->get(22,'AuthWebGUI');
|
||||
return $self->SUPER::displayAccount("updateAccount",$vars);
|
||||
}
|
||||
|
||||
|
|
@ -293,10 +298,11 @@ sub displayLogin {
|
|||
my $self = shift;
|
||||
my $vars;
|
||||
return $self->displayAccount($_[0]) if ($self->userId ne "1");
|
||||
my $i18n = WebGUI::International->new($self->session);
|
||||
$vars->{'login.message'} = $_[0] if ($_[0]);
|
||||
$vars->{'recoverPassword.isAllowed'} = $self->getSetting("passwordRecovery");
|
||||
$vars->{'recoverPassword.url'} = $self->session->url->page('op=auth;method=recoverPassword');
|
||||
$vars->{'recoverPassword.label'} = WebGUI::International::get(59);
|
||||
$vars->{'recoverPassword.label'} = $i18n->get(59);
|
||||
return $self->SUPER::displayLogin("login",$vars);
|
||||
}
|
||||
|
||||
|
|
@ -348,93 +354,94 @@ sub editUserFormSave {
|
|||
|
||||
sub editUserSettingsForm {
|
||||
my $self = shift;
|
||||
my $i18n = WebGUI::International->new($self->session,'AuthWebGUI');
|
||||
my $f = WebGUI::HTMLForm->new($self->session);
|
||||
$f->text(
|
||||
-name=>"webguiPasswordLength",
|
||||
-value=>$self->session->setting->get("webguiPasswordLength"),
|
||||
-label=>WebGUI::International::get(15,'AuthWebGUI'),
|
||||
-label=>$i18n->get(15),
|
||||
-size=>5,
|
||||
-maxLength=>5,
|
||||
);
|
||||
$f->interval(
|
||||
-name=>"webguiPasswordTimeout",
|
||||
-label=>WebGUI::International::get(16,'AuthWebGUI'),
|
||||
-label=>$i18n->get(16),
|
||||
-value=>$self->session->setting->get("webguiPasswordTimeout")
|
||||
);
|
||||
$f->yesNo(
|
||||
-name=>"webguiExpirePasswordOnCreation",
|
||||
-value=>$self->session->setting->get("webguiExpirePasswordOnCreation"),
|
||||
-label=>WebGUI::International::get(9,'AuthWebGUI')
|
||||
-label=>$i18n->get(9)
|
||||
);
|
||||
$f->yesNo(
|
||||
-name=>"webguiSendWelcomeMessage",
|
||||
-value=>$self->session->setting->get("webguiSendWelcomeMessage"),
|
||||
-label=>WebGUI::International::get(868)
|
||||
-label=>$i18n->get(868,'WebGUI')
|
||||
);
|
||||
$f->textarea(
|
||||
-name=>"webguiWelcomeMessage",
|
||||
-value=>$self->session->setting->get("webguiWelcomeMessage"),
|
||||
-label=>WebGUI::International::get(869)
|
||||
-label=>$i18n->get(869,'WebGUI')
|
||||
);
|
||||
$f->yesNo(
|
||||
-name=>"webguiChangeUsername",
|
||||
-value=>$self->session->setting->get("webguiChangeUsername"),
|
||||
-label=>WebGUI::International::get(19,'AuthWebGUI')
|
||||
-label=>$i18n->get(19)
|
||||
);
|
||||
$f->yesNo(
|
||||
-name=>"webguiChangePassword",
|
||||
-value=>$self->session->setting->get("webguiChangePassword"),
|
||||
-label=>WebGUI::International::get(18,'AuthWebGUI')
|
||||
-label=>$i18n->get(18)
|
||||
);
|
||||
$f->yesNo(
|
||||
-name=>"webguiPasswordRecovery",
|
||||
-value=>$self->session->setting->get("webguiPasswordRecovery"),
|
||||
-label=>WebGUI::International::get(6,'AuthWebGUI')
|
||||
-label=>$i18n->get(6)
|
||||
);
|
||||
$f->textarea(
|
||||
-name=>"webguiRecoverPasswordEmail",
|
||||
-label=>WebGUI::International::get(134),
|
||||
-label=>$i18n->get(134, 'WebGUI'),
|
||||
-value=>$self->session->setting->get("webguiRecoverPasswordEmail")
|
||||
);
|
||||
$f->yesNo(
|
||||
-name=>"webguiValidateEmail",
|
||||
-value=>$self->session->setting->get("webguiValidateEmail"),
|
||||
-label=>WebGUI::International::get('validate email','AuthWebGUI')
|
||||
-label=>$i18n->get('validate email')
|
||||
);
|
||||
$f->yesNo(
|
||||
-name=>"webguiUseCaptcha",
|
||||
-value=>$self->session->setting->get("webguiUseCaptcha"),
|
||||
-label=>WebGUI::International::get('use captcha','AuthWebGUI')
|
||||
-label=>$i18n->get('use captcha')
|
||||
);
|
||||
$f->template(
|
||||
-name=>"webguiAccountTemplate",
|
||||
-value=>$self->session->setting->get("webguiAccountTemplate"),
|
||||
-namespace=>"Auth/WebGUI/Account",
|
||||
-label=>WebGUI::International::get("account template","AuthWebGUI")
|
||||
-label=>$i18n->get("account template")
|
||||
);
|
||||
$f->template(
|
||||
-name=>"webguiCreateAccountTemplate",
|
||||
-value=>$self->session->setting->get("webguiCreateAccountTemplate"),
|
||||
-namespace=>"Auth/WebGUI/Create",
|
||||
-label=>WebGUI::International::get("create account template","AuthWebGUI")
|
||||
-label=>$i18n->get("create account template")
|
||||
);
|
||||
$f->template(
|
||||
-name=>"webguiExpiredPasswordTemplate",
|
||||
-value=>$self->session->setting->get("webguiExpiredPasswordTemplate"),
|
||||
-namespace=>"Auth/WebGUI/Expired",
|
||||
-label=>WebGUI::International::get("expired password template","AuthWebGUI")
|
||||
-label=>$i18n->get("expired password template")
|
||||
);
|
||||
$f->template(
|
||||
-name=>"webguiLoginTemplate",
|
||||
-value=>$self->session->setting->get("webguiLoginTemplate"),
|
||||
-namespace=>"Auth/WebGUI/Login",
|
||||
-label=>WebGUI::International::get("login template","AuthWebGUI")
|
||||
-label=>$i18n->get("login template")
|
||||
);
|
||||
$f->template(
|
||||
-name=>"webguiPasswordRecoveryTemplate",
|
||||
-value=>$self->session->setting->get("webguiPasswordRecoveryTemplate"),
|
||||
-namespace=>"Auth/WebGUI/Recovery",
|
||||
-label=>WebGUI::International::get("password recovery template","AuthWebGUI")
|
||||
-label=>$i18n->get("password recovery template")
|
||||
);
|
||||
return $f->printRowsOnly;
|
||||
}
|
||||
|
|
@ -471,7 +478,8 @@ sub login {
|
|||
if(!$self->authenticate($self->session->form->process("username"),$self->session->form->process("identifier"))){
|
||||
$self->session->http->setStatus("401","Incorrect Credentials");
|
||||
$self->session->errorHandler->security("login to account ".$self->session->form->process("username")." with invalid information.");
|
||||
return $self->displayLogin("<h1>".WebGUI::International::get(70)."</h1>".$self->error);
|
||||
my $i18n = WebGUI::International->new($self->session);
|
||||
return $self->displayLogin("<h1>".$i18n->get(70)."</h1>".$self->error);
|
||||
}
|
||||
|
||||
my $userData = $self->getParams;
|
||||
|
|
@ -504,7 +512,8 @@ sub recoverPassword {
|
|||
return $self->displayLogin if($self->userId ne "1");
|
||||
my $template = 'Auth/WebGUI/Recovery';
|
||||
my $vars;
|
||||
$vars->{title} = WebGUI::International::get(71);
|
||||
my $i18n = WebGUI::International->new($self->session);
|
||||
$vars->{title} = $i18n->get(71);
|
||||
$vars->{'recover.form.header'} = "\n\n".WebGUI::Form::formHeader($self->session,{});
|
||||
$vars->{'recover.form.hidden'} = WebGUI::Form::hidden($self->session,{"name"=>"op","value"=>"auth"});
|
||||
$vars->{'recover.form.hidden'} .= WebGUI::Form::hidden($self->session,{"name"=>"method","value"=>"recoverPasswordFinish"});
|
||||
|
|
@ -512,21 +521,22 @@ sub recoverPassword {
|
|||
$vars->{'recover.form.submit'} = WebGUI::Form::submit($self->session,{});
|
||||
$vars->{'recover.form.footer'} = WebGUI::Form::formFooter($self->session,);
|
||||
$vars->{'login.url'} = $self->session->url->page('op=auth;method=init');
|
||||
$vars->{'login.label'} = WebGUI::International::get(58);
|
||||
$vars->{'login.label'} = $i18n->get(58);
|
||||
|
||||
$vars->{'anonymousRegistration.isAllowed'} = ($self->session->setting->get("anonymousRegistration"));
|
||||
$vars->{'createAccount.url'} = $self->session->url->page('op=auth=;method=createAccount');
|
||||
$vars->{'createAccount.label'} = WebGUI::International::get(67);
|
||||
$vars->{'createAccount.label'} = $i18n->get(67);
|
||||
$vars->{'recover.message'} = $_[0] if ($_[0]);
|
||||
$vars->{'recover.form.email'} = WebGUI::Form::text($self->session,{"name"=>"email"});
|
||||
$vars->{'recover.form.email.label'} = WebGUI::International::get(56);
|
||||
$vars->{'recover.form.email.label'} = $i18n->get(56);
|
||||
return WebGUI::Asset::Template->new($self->session,$self->getPasswordRecoveryTemplateId)->process($vars);
|
||||
}
|
||||
|
||||
#-------------------------------------------------------------------
|
||||
sub recoverPasswordFinish {
|
||||
my $self = shift;
|
||||
return $self->recoverPassword('<ul><li>'.WebGUI::International::get(743).'</li></ul>') if ($self->session->form->process("email") eq "");
|
||||
my $i18n = WebGUI::International->new($self->session);
|
||||
return $self->recoverPassword('<ul><li>'.$i18n->get(743).'</li></ul>') if ($self->session->form->process("email") eq "");
|
||||
return $self->displayLogin unless ($self->session->setting->get("webguiPasswordRecovery"));
|
||||
|
||||
my($sth,$username,$userId,$password,$flag,$message,$output,$encryptedPassword,$authMethod);
|
||||
|
|
@ -544,15 +554,15 @@ sub recoverPasswordFinish {
|
|||
_logSecurityMessage();
|
||||
$self->session->errorHandler->security("recover a password. Password emailed to: ".$self->session->form->process("email"));
|
||||
$message = $self->session->setting->get("webguiRecoverPasswordEmail");
|
||||
$message .= "\n".WebGUI::International::get(50).": ".$username."\n";
|
||||
$message .= WebGUI::International::get(51).": ".$password."\n";
|
||||
WebGUI::Mail::send($self->session->form->process("email"),WebGUI::International::get(74),$message);
|
||||
$message .= "\n".$i18n->get(50).": ".$username."\n";
|
||||
$message .= $i18n->get(51).": ".$password."\n";
|
||||
WebGUI::Mail::send($self->session->form->process("email"),$i18n->get(74),$message);
|
||||
$flag++;
|
||||
}
|
||||
$sth->finish();
|
||||
|
||||
return $self->displayLogin('<ul><li>'.WebGUI::International::get(75).'</li></ul>') if($flag);
|
||||
return $self->recoverPassword('<ul><li>'.WebGUI::International::get(76).'</li></ul>');
|
||||
return $self->displayLogin('<ul><li>'.$i18n->get(75).'</li></ul>') if($flag);
|
||||
return $self->recoverPassword('<ul><li>'.$i18n->get(76).'</li></ul>');
|
||||
}
|
||||
|
||||
#-------------------------------------------------------------------
|
||||
|
|
@ -560,7 +570,8 @@ sub resetExpiredPassword {
|
|||
my $self = shift;
|
||||
my $vars;
|
||||
|
||||
$vars->{displayTitle} = '<h3>'.WebGUI::International::get(8,'AuthWebGUI').'</h3>';
|
||||
my $i18n = WebGUI::International->new($self->session);
|
||||
$vars->{displayTitle} = '<h3>'.$i18n->get(8,'AuthWebGUI').'</h3>';
|
||||
$vars->{'expired.message'} = $_[0] if($_[0]);
|
||||
$vars->{'expired.form.header'} = "\n\n".WebGUI::Form::formHeader($self->session,{});
|
||||
$vars->{'expired.form.hidden'} = WebGUI::Form::hidden($self->session,{"name"=>"op","value"=>"auth"});
|
||||
|
|
@ -568,11 +579,11 @@ sub resetExpiredPassword {
|
|||
$vars->{'expired.form.hidden'} .= WebGUI::Form::hidden($self->session,{"name"=>"uid","value"=>$self->session->form->process("uid")});
|
||||
|
||||
$vars->{'expired.form.oldPassword'} = WebGUI::Form::password($self->session,{"name"=>"oldPassword"});
|
||||
$vars->{'expired.form.oldPassword.label'} = WebGUI::International::get(10,'AuthWebGUI');
|
||||
$vars->{'expired.form.oldPassword.label'} = $i18n->get(10,'AuthWebGUI');
|
||||
$vars->{'expired.form.password'} = WebGUI::Form::password($self->session,{"name"=>"identifier"});
|
||||
$vars->{'expired.form.password.label'} = WebGUI::International::get(11,'AuthWebGUI');
|
||||
$vars->{'expired.form.password.label'} = $i18n->get(11,'AuthWebGUI');
|
||||
$vars->{'expired.form.passwordConfirm'} = WebGUI::Form::password($self->session,{"name"=>"identifierConfirm"});
|
||||
$vars->{'expired.form.passwordConfirm.label'} = WebGUI::International::get(2,'AuthWebGUI');
|
||||
$vars->{'expired.form.passwordConfirm.label'} = $i18n->get(2,'AuthWebGUI');
|
||||
$vars->{'expired.form.submit'} = WebGUI::Form::submit($self->session,{});
|
||||
$vars->{'expired.form.footer'} = WebGUI::Form::formFooter($self->session,);
|
||||
|
||||
|
|
@ -585,14 +596,15 @@ sub resetExpiredPasswordSave {
|
|||
my ($error,$u,$properties,$msg);
|
||||
|
||||
$u = WebGUI::User->new($self->session,$self->session->form->process("uid"));
|
||||
my $i18n = WebGUI::International->new($self->session);
|
||||
$self->session->form->process("username") = $u->username;
|
||||
|
||||
$error .= $self->error if(!$self->authenticate($u->username,$self->session->form->process("oldPassword")));
|
||||
$error .= '<li>'.WebGUI::International::get(5,'AuthWebGUI').'</li>' if($self->session->form->process("identifier") eq "password");
|
||||
$error .= '<li>'.WebGUI::International::get(12,'AuthWebGUI').'</li>' if ($self->session->form->process("oldPassword") eq $self->session->form->process("identifier"));
|
||||
$error .= '<li>'.$i18n->get(5,'AuthWebGUI').'</li>' if($self->session->form->process("identifier") eq "password");
|
||||
$error .= '<li>'.$i18n->get(12,'AuthWebGUI').'</li>' if ($self->session->form->process("oldPassword") eq $self->session->form->process("identifier"));
|
||||
$error .= $self->error if(!$self->_isValidPassword($self->session->form->process("identifier"),$self->session->form->process("identifierConfirm")));
|
||||
|
||||
return $self->resetExpiredPassword("<h1>".WebGUI::International::get(70)."</h1>".$error) if($error ne "");
|
||||
return $self->resetExpiredPassword("<h1>".$i18n->get(70)."</h1>".$error) if($error ne "");
|
||||
|
||||
$properties->{identifier} = Digest::MD5::md5_base64($self->session->form->process("identifier"));
|
||||
$properties->{passwordLastUpdated} =$self->session->datetime->time();
|
||||
|
|
@ -602,7 +614,7 @@ sub resetExpiredPasswordSave {
|
|||
|
||||
$msg = $self->login;
|
||||
if($msg eq ""){
|
||||
$msg = "<li>".WebGUI::International::get(17,'AuthWebGUI').'</li>';
|
||||
$msg = "<li>".$i18n->get(17,'AuthWebGUI').'</li>';
|
||||
}
|
||||
return $self->displayLogin($msg);
|
||||
}
|
||||
|
|
@ -630,10 +642,11 @@ sub validateEmail {
|
|||
sub updateAccount {
|
||||
my $self = shift;
|
||||
|
||||
my $i18n = WebGUI::International->new($self->session);
|
||||
my $username = $self->session->form->get('authWebGUI.username');
|
||||
my $password = $self->session->form->get('authWebGUI.identifier');
|
||||
my $passConfirm = $self->session->form->get('authWebGUI.identifierConfirm');
|
||||
my $display = '<li>'.WebGUI::International::get(81).'</li>';
|
||||
my $display = '<li>'.$i18n->get(81).'</li>';
|
||||
my $error = "";
|
||||
|
||||
if($self->userId eq '1'){
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue