diff --git a/docs/changelog/6.x.x.txt b/docs/changelog/6.x.x.txt
index 6d9d4472a..6c3af2a3c 100644
--- a/docs/changelog/6.x.x.txt
+++ b/docs/changelog/6.x.x.txt
@@ -11,9 +11,11 @@
- Image Magick is now required to run WebGUI.
- Added an image resizer to the image asset.
- Added Captcha verification option to WebGUI anonymous registration.
+ - Authentication templates are now selectable through the settings console.
- Added email validation option to WebGUI anonymous registration. Thanks to
Matt Wilson for inspiration.
- Thumbnails will now be generated a little sharper. Thanks to Nuba.
+ - SSL is now more strictly enforced.
- Fixed resetting votes on Poll would crash it.
- Fixed not being able to set display title and other yes no questions to no.
- Fixed a bug where URLs would become unreachable when using SSL.
diff --git a/docs/upgrades/upgrade_6.3.0-6.4.0.sql b/docs/upgrades/upgrade_6.3.0-6.4.0.sql
index 8b2a107b3..34b3e814f 100644
--- a/docs/upgrades/upgrade_6.3.0-6.4.0.sql
+++ b/docs/upgrades/upgrade_6.3.0-6.4.0.sql
@@ -4,4 +4,13 @@ insert into settings (name, value) values ('webguiValidateEmail', '0');
insert into settings (name, value) values ('webguiUseCaptcha', '1');
delete from template where assetId='PBtmpl0000000000000011';
INSERT INTO template VALUES ('
\r\n\r\n\r\n \r\n\r\n\r\n\r\n\r\n\r\n\r\n | \r\n | \r\n
\r\n\r\n\r\n | \r\n | \r\n
\r\n\r\n | \r\n | \r\n
\r\n\r\n | \r\n | \r\n
\r\n\r\n\r\n | \r\n | \r\n
\r\n\r\n\r\n | \r\n | \r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n - \">
\r\n \r\n - \">
\r\n \r\n
\r\n
','Auth/WebGUI/Create',1,1,'PBtmpl0000000000000011');
+insert into settings (name, value) values ('webguiAccountTemplate', 'PBtmpl0000000000000010');
+insert into settings (name, value) values ('webguiCreateAccountTemplate', 'PBtmpl0000000000000011');
+insert into settings (name, value) values ('webguiExpiredPasswordTemplate', 'PBtmpl0000000000000012');
+insert into settings (name, value) values ('webguiLoginTemplate', 'PBtmpl0000000000000013');
+insert into settings (name, value) values ('webguiPasswordRecoveryTemplate', 'PBtmpl0000000000000014');
+insert into settings (name, value) values ('ldapAccountTemplate', 'PBtmpl0000000000000004');
+insert into settings (name, value) values ('ldapCreateAccountTemplate', 'PBtmpl0000000000000005');
+insert into settings (name, value) values ('ldapLoginTemplate', 'PBtmpl0000000000000006');
+
diff --git a/lib/WebGUI/Asset/Wobject.pm b/lib/WebGUI/Asset/Wobject.pm
index b48c17fba..4b48ce438 100644
--- a/lib/WebGUI/Asset/Wobject.pm
+++ b/lib/WebGUI/Asset/Wobject.pm
@@ -561,6 +561,10 @@ Renders self->view based upon current style, subject to timeouts. Returns Privil
sub www_view {
my $self = shift;
return WebGUI::Privilege::noAccess() unless $self->canView;
+ if ($self->get("encryptPage") && $session{env}{HTTPS} ne "on") {
+ WebGUI::HTTP::setRedirect($self->getUrl);
+ return "";
+ }
$self->logView();
my $cache;
my $output;
diff --git a/lib/WebGUI/Auth/LDAP.pm b/lib/WebGUI/Auth/LDAP.pm
index 0205ada42..4e2edafd6 100644
--- a/lib/WebGUI/Auth/LDAP.pm
+++ b/lib/WebGUI/Auth/LDAP.pm
@@ -325,22 +325,40 @@ sub editUserSettingsForm {
-value=>$session{setting}{ldapWelcomeMessage},
-label=>WebGUI::International::get(869)
);
+ $f->template(
+ -name=>"ldapAccountTemplate",
+ -value=>$session{setting}{ldapAccountTemplate},
+ -namespace=>"Auth/LDAP/Account",
+ -label=>WebGUI::International::get("account template","AuthLDAP")
+ );
+ $f->template(
+ -name=>"ldapCreateAccountTemplate",
+ -value=>$session{setting}{ldapCreateAccountTemplate},
+ -namespace=>"Auth/LDAP/Create",
+ -label=>WebGUI::International::get("create account template","AuthLDAP")
+ );
+ $f->template(
+ -name=>"ldapLoginTemplate",
+ -value=>$session{setting}{ldapLoginTemplate},
+ -namespace=>"Auth/LDAP/Login",
+ -label=>WebGUI::International::get("login template","AuthLDAP")
+ );
return $f->printRowsOnly;
}
#-------------------------------------------------------------------
sub getAccountTemplateId {
- return "PBtmpl0000000000000004";
+ return $session{setting}{ldapAccountTemplate} || "PBtmpl0000000000000004";
}
#-------------------------------------------------------------------
sub getCreateAccountTemplateId {
- return "PBtmpl0000000000000005";
+ return $session{setting}{ldapCreateAccountTemplate} || "PBtmpl0000000000000005";
}
#-------------------------------------------------------------------
sub getLoginTemplateId {
- return "PBtmpl0000000000000006";
+ return $session{setting}{ldapLoginTemplate} || "PBtmpl0000000000000006";
}
#-------------------------------------------------------------------
diff --git a/lib/WebGUI/Auth/WebGUI.pm b/lib/WebGUI/Auth/WebGUI.pm
index d9d24064c..230b491ad 100644
--- a/lib/WebGUI/Auth/WebGUI.pm
+++ b/lib/WebGUI/Auth/WebGUI.pm
@@ -383,42 +383,72 @@ sub editUserSettingsForm {
-label=>WebGUI::International::get(6,'AuthWebGUI')
);
$f->textarea("webguiRecoverPasswordEmail",WebGUI::International::get(134),$session{setting}{webguiRecoverPasswordEmail});
- $f->yesNo(
- -name=>"webguiValidateEmail",
- -value=>$session{setting}{webguiValidateEmail},
- -label=>WebGUI::International::get('validate email','AuthWebGUI')
- );
- $f->yesNo(
- -name=>"webguiUseCaptcha",
- -value=>$session{setting}{webguiUseCaptcha},
- -label=>WebGUI::International::get('use captcha','AuthWebGUI')
- );
+ $f->yesNo(
+ -name=>"webguiValidateEmail",
+ -value=>$session{setting}{webguiValidateEmail},
+ -label=>WebGUI::International::get('validate email','AuthWebGUI')
+ );
+ $f->yesNo(
+ -name=>"webguiUseCaptcha",
+ -value=>$session{setting}{webguiUseCaptcha},
+ -label=>WebGUI::International::get('use captcha','AuthWebGUI')
+ );
+ $f->template(
+ -name=>"webguiAccountTemplate",
+ -value=>$session{setting}{webguiAccountTemplate},
+ -namespace=>"Auth/WebGUI/Account",
+ -label=>WebGUI::International::get("account template","AuthWebGUI")
+ );
+ $f->template(
+ -name=>"webguiCreateAccountTemplate",
+ -value=>$session{setting}{webguiCreateAccountTemplate},
+ -namespace=>"Auth/WebGUI/Create",
+ -label=>WebGUI::International::get("create account template","AuthWebGUI")
+ );
+ $f->template(
+ -name=>"webguiExpiredPasswordTemplate",
+ -value=>$session{setting}{webguiExpiredPasswordTemplate},
+ -namespace=>"Auth/WebGUI/Expired",
+ -label=>WebGUI::International::get("expired password template","AuthWebGUI")
+ );
+ $f->template(
+ -name=>"webguiLoginTemplate",
+ -value=>$session{setting}{webguiLoginTemplate},
+ -namespace=>"Auth/WebGUI/Login",
+ -label=>WebGUI::International::get("login template","AuthWebGUI")
+ );
+ $f->template(
+ -name=>"webguiPasswordRecoveryTemplate",
+ -value=>$session{setting}{webguiPasswordRecoveryTemplate},
+ -namespace=>"Auth/WebGUI/Recovery",
+ -label=>WebGUI::International::get("password recovery template","AuthWebGUI")
+ );
return $f->printRowsOnly;
}
#-------------------------------------------------------------------
sub getAccountTemplateId {
- return "PBtmpl0000000000000010";
+ return $session{setting}{webguiAccountTemplate} || "PBtmpl0000000000000010";
}
#-------------------------------------------------------------------
sub getCreateAccountTemplateId {
- return "PBtmpl0000000000000011";
+ return $session{setting}{webguiCreateAccountTemplate} || "PBtmpl0000000000000011";
}
#-------------------------------------------------------------------
sub getExpiredPasswordTemplateId {
- return "PBtmpl0000000000000012";
+ return $session{setting}{webguiExpiredPasswordTemplate} || "PBtmpl0000000000000012";
}
#-------------------------------------------------------------------
sub getLoginTemplateId {
- return "PBtmpl0000000000000013";
+ return $session{setting}{webguiLoginTemplate} || "PBtmpl0000000000000013";
}
#-------------------------------------------------------------------
sub getPasswordRecoveryTemplateId {
- return "PBtmpl0000000000000014";
+ return $session{setting}{webguiPasswordRecoveryTemplate} || "PBtmpl0000000000000014";
}
diff --git a/lib/WebGUI/URL.pm b/lib/WebGUI/URL.pm
index 25cd55c49..6fad53b83 100644
--- a/lib/WebGUI/URL.pm
+++ b/lib/WebGUI/URL.pm
@@ -208,7 +208,7 @@ sub getSiteURL {
$site = $session{env}{HTTP_HOST} || $session{config}{defaultSitename};
}
my $proto = "http://";
- if ($session{env}{SERVER_PORT} == 443) {
+ if ($session{env}{HTTPS} eq "on") {
$proto = "https://";
}
return $proto.$site;
diff --git a/lib/WebGUI/i18n/English/AuthLDAP.pm b/lib/WebGUI/i18n/English/AuthLDAP.pm
index f6fa3b907..ee4bb4c02 100644
--- a/lib/WebGUI/i18n/English/AuthLDAP.pm
+++ b/lib/WebGUI/i18n/English/AuthLDAP.pm
@@ -1,6 +1,21 @@
package WebGUI::i18n::English::AuthLDAP;
our $I18N = {
+ 'account template' => {
+ message => q|Account Template|,
+ lastUpdated => 1078852969
+ },
+
+ 'create account template' => {
+ message => q|Create Account Template|,
+ lastUpdated => 1078852969
+ },
+
+ 'login template' => {
+ message => q|Login Template|,
+ lastUpdated => 1078852969
+ },
+
'account-1' => {
message => q|LDAP Authentication Display Account Template|,
lastUpdated => 1078852969
diff --git a/lib/WebGUI/i18n/English/AuthWebGUI.pm b/lib/WebGUI/i18n/English/AuthWebGUI.pm
index 88945e22e..2e09922b4 100644
--- a/lib/WebGUI/i18n/English/AuthWebGUI.pm
+++ b/lib/WebGUI/i18n/English/AuthWebGUI.pm
@@ -1,6 +1,31 @@
package WebGUI::i18n::English::AuthWebGUI;
our $I18N = {
+ 'account template' => {
+ message => q|Account Template|,
+ lastUpdated => 1078852836
+ },
+
+ 'create account template' => {
+ message => q|Create Account Template|,
+ lastUpdated => 1078852836
+ },
+
+ 'expired password template' => {
+ message => q|Expired Password Template|,
+ lastUpdated => 1078852836
+ },
+
+ 'login template' => {
+ message => q|Login Template|,
+ lastUpdated => 1078852836
+ },
+
+ 'password recovery template' => {
+ message => q|Password Recovery Template|,
+ lastUpdated => 1078852836
+ },
+
'use captcha' => {
message => q|Use captcha image?|,
lastUpdated => 1078852836