- fix: op=saveSettings broken
This commit is contained in:
parent
edaa6c463a
commit
47e6e65dd1
6 changed files with 390 additions and 239 deletions
|
|
@ -18,6 +18,7 @@
|
|||
- fix: No Help link icon in Matrix edit page
|
||||
- fix: Problems with In/Out Board (labeling only)
|
||||
- fix: Adding HTTP Proxy
|
||||
- fix: op=saveSettings broken
|
||||
- fix: EMS Discount Pass Not Applied
|
||||
- fix: Commerce checkout confirmation very confusing
|
||||
|
||||
|
|
|
|||
|
|
@ -7,6 +7,17 @@ upgrading from one version to the next, or even between multiple
|
|||
versions. Be sure to heed the warnings contained herein as they will
|
||||
save you many hours of grief.
|
||||
|
||||
6.99.4
|
||||
--------------------------------------------------------------------
|
||||
|
||||
* A bug was just discovered in the WebGUI::Auth API in that it was
|
||||
missing the editUserSettingsFormSave() method. If you have
|
||||
built your own auth module, then you need to add this method
|
||||
or your auth settings will not save. See WebGUI::Auth::WebGUI
|
||||
for an example of how to do this. If you are not using custom
|
||||
auth, then don't worry about this.
|
||||
|
||||
|
||||
6.99.0
|
||||
--------------------------------------------------------------------
|
||||
|
||||
|
|
|
|||
|
|
@ -423,6 +423,28 @@ sub editUserFormSave {
|
|||
|
||||
#-------------------------------------------------------------------
|
||||
|
||||
=head2 editUserSettingsForm ( )
|
||||
|
||||
You need to override this method in your auth module. It needs to return a the rows in a form for the stuff you want to be configured through webgui settings.
|
||||
|
||||
=cut
|
||||
|
||||
sub editUserSettingsForm {
|
||||
}
|
||||
|
||||
#-------------------------------------------------------------------
|
||||
|
||||
=head2 editUserSettingsFormSave ( )
|
||||
|
||||
You need to override this method in your auth module. It's the save for the editUserSettingsFormSave method.
|
||||
|
||||
=cut
|
||||
|
||||
sub editUserSettingsFormSave {
|
||||
}
|
||||
|
||||
#-------------------------------------------------------------------
|
||||
|
||||
=head2 error ( [errorMsg] )
|
||||
|
||||
Sets or returns the error currently stored in the object
|
||||
|
|
|
|||
|
|
@ -353,6 +353,14 @@ sub editUserSettingsForm {
|
|||
return $f->printRowsOnly;
|
||||
}
|
||||
|
||||
#-------------------------------------------------------------------
|
||||
sub editUserSettingsFormSave {
|
||||
my $self = shift;
|
||||
my $f = $self->session->form;
|
||||
my $s = $self->session->setting;
|
||||
$s->set("ldapConnection", $f->process("ldapConnection","selectBox"));
|
||||
}
|
||||
|
||||
#-------------------------------------------------------------------
|
||||
sub getAccountTemplateId {
|
||||
my $self = shift;
|
||||
|
|
|
|||
|
|
@ -332,12 +332,10 @@ sub editUserSettingsForm {
|
|||
my $self = shift;
|
||||
my $i18n = WebGUI::International->new($self->session,'AuthWebGUI');
|
||||
my $f = WebGUI::HTMLForm->new($self->session);
|
||||
$f->text(
|
||||
$f->integer(
|
||||
-name=>"webguiPasswordLength",
|
||||
-value=>$self->session->setting->get("webguiPasswordLength"),
|
||||
-label=>$i18n->get(15),
|
||||
-size=>5,
|
||||
-maxLength=>5,
|
||||
);
|
||||
$f->interval(
|
||||
-name=>"webguiPasswordTimeout",
|
||||
|
|
@ -422,6 +420,29 @@ sub editUserSettingsForm {
|
|||
return $f->printRowsOnly;
|
||||
}
|
||||
|
||||
#-------------------------------------------------------------------
|
||||
sub editUserSettingsFormSave {
|
||||
my $self = shift;
|
||||
my $f = $self->session->form;
|
||||
my $s = $self->session->setting;
|
||||
$s->set("webguiPasswordLength", $f->process("webguiPasswordLength","integer"));
|
||||
$s->set("webguiPasswordTimeout", $f->process("webguiPasswordTimeout","interval"));
|
||||
$s->set("webguiExpirePasswordOnCreation", $f->process("webguiExpirePasswordOnCreation","yesNo"));
|
||||
$s->set("webguiSendWelcomeMessage", $f->process("webguiSendWelcomeMessage","yesNo"));
|
||||
$s->set("webguiWelcomeMessage", $f->process("webguiWelcomeMessage","textarea"));
|
||||
$s->set("webguiChangeUsername", $f->process("webguiChangeUsername","yesNo"));
|
||||
$s->set("webguiChangePassword", $f->process("webguiChangePassword","yesNo"));
|
||||
$s->set("webguiPasswordRecovery", $f->process("webguiPasswordRecovery","yesNo"));
|
||||
$s->set("webguiRecoverPasswordEmail", $f->process("webguiRecoverPasswordEmail","textarea"));
|
||||
$s->set("webguiValidateEmail", $f->process("webguiValidateEmail","yesNo"));
|
||||
$s->set("webguiUseCaptcha", $f->process("webguiUseCaptcha","yesNo"));
|
||||
$s->set("webguiAccountTemplate", $f->process("webguiAccountTemplate","template"));
|
||||
$s->set("webguiCreateAccountTemplate", $f->process("webguiCreateAccountTemplate","template"));
|
||||
$s->set("webguiExpiredPasswordTemplate", $f->process("webguiExpiredPasswordTemplate","template"));
|
||||
$s->set("webguiLoginTemplate", $f->process("webguiLoginTemplate","template"));
|
||||
$s->set("webguiPasswordRecoveryTemplate", $f->process("webguiPasswordRecoveryTemplate","template"));
|
||||
}
|
||||
|
||||
#-------------------------------------------------------------------
|
||||
sub getAccountTemplateId {
|
||||
my $self = shift;
|
||||
|
|
|
|||
|
|
@ -25,13 +25,322 @@ Package WebGUI::Operation::Settings
|
|||
|
||||
Operation handler for sitewide settings for content, messaging, authentication, etc.
|
||||
|
||||
=head1 FUNCTIONS
|
||||
|
||||
The following functions are available from this package.
|
||||
|
||||
=cut
|
||||
|
||||
#-------------------------------------------------------------------
|
||||
|
||||
=head2 definition ( )
|
||||
|
||||
Returns an array reference used by www_editSettings and www_editSettingsSave to process the form data.
|
||||
|
||||
=cut
|
||||
|
||||
sub definition {
|
||||
my $session = shift;
|
||||
my $i18n = shift;
|
||||
my @fields = ();
|
||||
# company info
|
||||
push(@fields, {
|
||||
tab=>"company",
|
||||
fieldType=>"text",
|
||||
name=>"companyName",
|
||||
label=>$i18n->get(125),
|
||||
hoverHelp=>$i18n->get('125 description'),
|
||||
defaultValue=>$session->setting->get("companyName")
|
||||
});
|
||||
push(@fields, {
|
||||
tab=>"company",
|
||||
fieldType=>"text",
|
||||
name=>"companyEmail",
|
||||
label=>$i18n->get(126),
|
||||
hoverHelp=>$i18n->get('126 description'),
|
||||
defaultValue=>$session->setting->get("companyEmail")
|
||||
});
|
||||
push(@fields, {
|
||||
tab=>"company",
|
||||
fieldType=>"url",
|
||||
name=>"companyURL",
|
||||
label=>$i18n->get(127),
|
||||
hoverHelp=>$i18n->get('127 description'),
|
||||
defaultValue=>$session->setting->get("companyURL")
|
||||
});
|
||||
# content settings
|
||||
push(@fields, {
|
||||
tab=>"content",
|
||||
fieldType=>"workflow",
|
||||
name=>"defaultVersionTagWorkflow",
|
||||
defaultValue=>$session->setting->get("defaultVersionTagWorkflow"),
|
||||
type=>"WebGUI::VersionTag",
|
||||
label=>$i18n->get("default version tag workflow"),
|
||||
hoverHelp=>$i18n->get('default version tag workflow help')
|
||||
});
|
||||
my %htmlFilter = (
|
||||
'none'=>$i18n->get(420),
|
||||
'most'=>$i18n->get(421),
|
||||
'javascript'=>$i18n->get(526),
|
||||
'all'=>$i18n->get(419)
|
||||
);
|
||||
push(@fields, {
|
||||
tab=>"content",
|
||||
fieldType=>"asset",
|
||||
name=>"defaultPage",
|
||||
label=>$i18n->get(527),
|
||||
hoverHelp=>$i18n->get('527 description'),
|
||||
defaultValue=>$session->setting->get("defaultPage")
|
||||
});
|
||||
push(@fields, {
|
||||
tab=>"content",
|
||||
fieldType=>"asset",
|
||||
name=>"notFoundPage",
|
||||
label=>$i18n->get(141),
|
||||
hoverHelp=>$i18n->get('141 description'),
|
||||
defaultValue=>$session->setting->get("notFoundPage")
|
||||
});
|
||||
push(@fields, {
|
||||
tab=>"content",
|
||||
fieldType=>"text",
|
||||
name=>"urlExtension",
|
||||
defaultValue=>$session->setting->get("urlExtension"),
|
||||
label=>$i18n->get("url extension"),
|
||||
hoverHelp=>$i18n->get("url extension description"),
|
||||
});
|
||||
push(@fields, {
|
||||
tab=>"content",
|
||||
fieldType=>"integer",
|
||||
name=>"maxAttachmentSize",
|
||||
label=>$i18n->get(130),
|
||||
hoverHelp=>$i18n->get('130 description'),
|
||||
defaultValue=>$session->setting->get("maxAttachmentSize")
|
||||
});
|
||||
push(@fields, {
|
||||
tab=>"content",
|
||||
fieldType=>"integer",
|
||||
name=>"maxImageSize",
|
||||
label=>$i18n->get(583),
|
||||
hoverHelp=>$i18n->get('583 description'),
|
||||
defaultValue=>$session->setting->get("maxImageSize")
|
||||
});
|
||||
push(@fields, {
|
||||
tab=>"content",
|
||||
fieldType=>"integer",
|
||||
name=>"thumbnailSize",
|
||||
label=>$i18n->get(406),
|
||||
hoverHelp=>$i18n->get('406 description'),
|
||||
defaultValue=>$session->setting->get("thumbnailSize")
|
||||
});
|
||||
push(@fields, {
|
||||
tab=>"content",
|
||||
fieldType=>"yesNo",
|
||||
name=>"metaDataEnabled",
|
||||
label=>$i18n->get("Enable Metadata"),
|
||||
hoverHelp=>$i18n->get("Enable Metadata description"),
|
||||
defaultValue=>$session->setting->get("metaDataEnabled")
|
||||
});
|
||||
# user interface settings
|
||||
push(@fields, {
|
||||
tab=>"ui",
|
||||
fieldType=>"selectBox",
|
||||
name=>"richEditor",
|
||||
label=>$i18n->get("default rich editor"),
|
||||
hoverHelp=>$i18n->get("default rich editor description"),
|
||||
defaultValue=>[$session->setting->get("richEditor")],
|
||||
options=>WebGUI::Asset::RichEdit->getList($session),
|
||||
defaultValue=>["PBrichedit000000000001"]
|
||||
});
|
||||
push(@fields, {
|
||||
tab=>"ui",
|
||||
fieldType=>"integer",
|
||||
name=>"textBoxSize",
|
||||
label=>$i18n->get(465),
|
||||
hoverHelp=>$i18n->get('465 description'),
|
||||
defaultValue=>$session->setting->get("textBoxSize")
|
||||
});
|
||||
push(@fields, {
|
||||
tab=>"ui",
|
||||
fieldType=>"template",
|
||||
name=>"userFunctionStyleId",
|
||||
label=>$i18n->get('user function style'),
|
||||
hoverHelp=>$i18n->get('user function style description'),
|
||||
namespace=>"style",
|
||||
defaultValue=>$session->setting->get("userFunctionStyleId")
|
||||
});
|
||||
push(@fields, {
|
||||
tab=>"ui",
|
||||
fieldType=>"template",
|
||||
name=>"AdminConsoleTemplate",
|
||||
label=>$i18n->get('admin console template'),
|
||||
hoverHelp=>$i18n->get('admin console template description'),
|
||||
namespace=>"AdminConsole",
|
||||
defaultValue=>$session->setting->get("AdminConsoleTemplate")
|
||||
});
|
||||
# messaging settings
|
||||
push(@fields, {
|
||||
tab=>"messaging",
|
||||
fieldType=>"text",
|
||||
name=>"smtpServer",
|
||||
label=>$i18n->get(135),
|
||||
hoverHelp=>$i18n->get('135 description'),
|
||||
defaultValue=>$session->setting->get("smtpServer")
|
||||
});
|
||||
push(@fields, {
|
||||
tab=>"messaging",
|
||||
fieldType=>"textarea",
|
||||
name=>"mailFooter",
|
||||
label=>$i18n->get(824),
|
||||
hoverHelp=>$i18n->get('824 description'),
|
||||
defaultValue=>$session->setting->get("mailFooter")
|
||||
});
|
||||
push(@fields, {
|
||||
tab=>"messaging",
|
||||
fieldType=>"email",
|
||||
name=>"mailReturnPath",
|
||||
label=>$i18n->get("mail return path"),
|
||||
hoverHelp=>$i18n->get('mail return path help'),
|
||||
defaultValue=>$session->setting->get("mailReturnPath")
|
||||
});
|
||||
# misc
|
||||
push(@fields, {
|
||||
tab=>"misc",
|
||||
fieldType=>"yesNo",
|
||||
name=>"preventProxyCache",
|
||||
label=>$i18n->get(400),
|
||||
hoverHelp=>$i18n->get('400 description'),
|
||||
defaultValue=>$session->setting->get("preventProxyCache")
|
||||
});
|
||||
push(@fields, {
|
||||
tab=>"misc",
|
||||
fieldType=>"text",
|
||||
name=>"debugIp",
|
||||
label=>$i18n->get("debug ip"),
|
||||
hoverHelp=>$i18n->get("debug ip description"),
|
||||
defaultValue=>$session->setting->get("debugIp")
|
||||
});
|
||||
push(@fields, {
|
||||
tab=>"misc",
|
||||
fieldType=>"yesNo",
|
||||
name=>"showDebug",
|
||||
label=>$i18n->get(707),
|
||||
hoverHelp=>$i18n->get('707 description'),
|
||||
defaultValue=>$session->setting->get("showDebug")
|
||||
});
|
||||
push(@fields, {
|
||||
tab=>"misc",
|
||||
fieldType=>"yesNo",
|
||||
name=>"showPerformanceIndicators",
|
||||
label=>$i18n->get('show performance indicators'),
|
||||
hoverHelp=>$i18n->get('show performance indicators description'),
|
||||
defaultValue=>$session->setting->get("showPerformanceIndicators")
|
||||
});
|
||||
push(@fields, {
|
||||
tab=>"misc",
|
||||
fieldType=>"selectBox",
|
||||
name=>"hostToUse",
|
||||
defaultValue=>[$session->setting->get("hostToUse")],
|
||||
options=>{
|
||||
sitename=>$i18n->get(1070),
|
||||
HTTP_HOST=>$i18n->get(1071)
|
||||
},
|
||||
label=>$i18n->get(1069),
|
||||
hoverHelp=>$i18n->get('1069 description'),
|
||||
});
|
||||
# user settings
|
||||
push(@fields, {
|
||||
tab=>"user",
|
||||
fieldType=>"yesNo",
|
||||
name=>"anonymousRegistration",
|
||||
label=>$i18n->get(118),
|
||||
hoverHelp=>$i18n->get('118 description'),
|
||||
defaultValue=>$session->setting->get("anonymousRegistration")
|
||||
});
|
||||
push(@fields, {
|
||||
tab=>"user",
|
||||
fieldType=>"workflow",
|
||||
none=>1,
|
||||
type=>"WebGUI::User",
|
||||
name=>"runOnRegistration",
|
||||
label=>$i18n->get(559),
|
||||
hoverHelp=>$i18n->get('559 description'),
|
||||
defaultValue=>$session->setting->get("runOnRegistration")
|
||||
});
|
||||
push(@fields, {
|
||||
tab=>"user",
|
||||
fieldType=>"yesNo",
|
||||
name=>"useKarma",
|
||||
label=>$i18n->get(539),
|
||||
hoverHelp=>$i18n->get('539 description'),
|
||||
defaultValue=>$session->setting->get("useKarma")
|
||||
});
|
||||
push(@fields, {
|
||||
tab=>"user",
|
||||
fieldType=>"integer",
|
||||
name=>"karmaPerLogin",
|
||||
label=>$i18n->get(540),
|
||||
hoverHelp=>$i18n->get('540 description'),
|
||||
defaultValue=>$session->setting->get("karmaPerLogin")
|
||||
});
|
||||
push(@fields, {
|
||||
tab=>"user",
|
||||
fieldType=>"interval",
|
||||
name=>"sessionTimeout",
|
||||
label=>$i18n->get(142),
|
||||
hoverHelp=>$i18n->get('142 description'),
|
||||
defaultValue=>$session->setting->get("sessionTimeout")
|
||||
});
|
||||
push(@fields, {
|
||||
tab=>"user",
|
||||
fieldType=>"yesNo",
|
||||
name=>"selfDeactivation",
|
||||
label=>$i18n->get(885),
|
||||
hoverHelp=>$i18n->get('885 description'),
|
||||
defaultValue=>$session->setting->get("selfDeactivation")
|
||||
});
|
||||
push(@fields, {
|
||||
tab=>"user",
|
||||
fieldType=>"yesNo",
|
||||
name=>"encryptLogin",
|
||||
label=>$i18n->get(1006),
|
||||
hoverHelp=>$i18n->get('1006 description'),
|
||||
defaultValue=>$session->setting->get("encryptLogin")
|
||||
});
|
||||
push(@fields, {
|
||||
tab=>"user",
|
||||
fieldType=>"yesNo",
|
||||
name=>"passiveProfilingEnabled",
|
||||
label=>$i18n->get("Enable passive profiling"),
|
||||
hoverHelp=>$i18n->get("Enable passive profiling description"),
|
||||
defaultValue=>$session->setting->get("passiveProfilingEnabled"),
|
||||
extras=>'onchange="alert(\''.$i18n->get("Illegal Warning").'\')" '
|
||||
});
|
||||
# auth settings
|
||||
my $options;
|
||||
foreach (@{$session->config->get("authMethods")}) {
|
||||
$options->{$_} = $_;
|
||||
}
|
||||
push(@fields, {
|
||||
tab=>"auth",
|
||||
fieldType=>"selectBox",
|
||||
name=>"authMethod",
|
||||
options=>$options,
|
||||
label=>$i18n->get(164),
|
||||
hoverHelp=>$i18n->get('164 description'),
|
||||
defaultValue=>[$session->setting->get("authMethod")],
|
||||
});
|
||||
return \@fields;
|
||||
}
|
||||
|
||||
|
||||
#-------------------------------------------------------------------
|
||||
|
||||
=head2 www_editSettings ( $session )
|
||||
|
||||
Display a form for sitewide settings, if the user is in group Admin (3).
|
||||
|
||||
=cut
|
||||
|
||||
#-------------------------------------------------------------------
|
||||
sub www_editSettings {
|
||||
my $session = shift;
|
||||
return $session->privilege->adminOnly() unless ($session->user->isInGroup(3));
|
||||
|
|
@ -51,229 +360,10 @@ sub www_editSettings {
|
|||
$tabform->hidden({
|
||||
name=>"op",
|
||||
value=>"saveSettings"});
|
||||
# company settings
|
||||
$tabform->getTab("company")->text(
|
||||
-name=>"companyName",
|
||||
-label=>$i18n->get(125),
|
||||
-hoverHelp=>$i18n->get('125 description'),
|
||||
-value=>$session->setting->get("companyName")
|
||||
);
|
||||
$tabform->getTab("company")->text(
|
||||
-name=>"companyEmail",
|
||||
-label=>$i18n->get(126),
|
||||
-hoverHelp=>$i18n->get('126 description'),
|
||||
-value=>$session->setting->get("companyEmail")
|
||||
);
|
||||
$tabform->getTab("company")->url(
|
||||
-name=>"companyURL",
|
||||
-label=>$i18n->get(127),
|
||||
-hoverHelp=>$i18n->get('127 description'),
|
||||
-value=>$session->setting->get("companyURL")
|
||||
);
|
||||
# content settings
|
||||
$tabform->getTab("content")->workflow(
|
||||
name=>"defaultVersionTagWorkflow",
|
||||
value=>$session->setting->get("defaultVersionTagWorkflow"),
|
||||
type=>"WebGUI::VersionTag",
|
||||
label=>$i18n->get("default version tag workflow"),
|
||||
hoverHelp=>$i18n->get('default version tag workflow help')
|
||||
);
|
||||
my %htmlFilter = (
|
||||
'none'=>$i18n->get(420),
|
||||
'most'=>$i18n->get(421),
|
||||
'javascript'=>$i18n->get(526),
|
||||
'all'=>$i18n->get(419)
|
||||
);
|
||||
$tabform->getTab("content")->asset(
|
||||
-name=>"defaultPage",
|
||||
-label=>$i18n->get(527),
|
||||
-hoverHelp=>$i18n->get('527 description'),
|
||||
-value=>$session->setting->get("defaultPage")
|
||||
);
|
||||
$tabform->getTab("content")->asset(
|
||||
-name=>"notFoundPage",
|
||||
-label=>$i18n->get(141),
|
||||
-hoverHelp=>$i18n->get('141 description'),
|
||||
-value=>$session->setting->get("notFoundPage")
|
||||
);
|
||||
$tabform->getTab("content")->text(
|
||||
-name=>"urlExtension",
|
||||
-value=>$session->setting->get("urlExtension"),
|
||||
-label=>$i18n->get("url extension"),
|
||||
-hoverHelp=>$i18n->get("url extension description"),
|
||||
);
|
||||
$tabform->getTab("content")->integer(
|
||||
-name=>"maxAttachmentSize",
|
||||
-label=>$i18n->get(130),
|
||||
-hoverHelp=>$i18n->get('130 description'),
|
||||
-value=>$session->setting->get("maxAttachmentSize")
|
||||
);
|
||||
$tabform->getTab("content")->integer(
|
||||
-name=>"maxImageSize",
|
||||
-label=>$i18n->get(583),
|
||||
-hoverHelp=>$i18n->get('583 description'),
|
||||
-value=>$session->setting->get("maxImageSize")
|
||||
);
|
||||
$tabform->getTab("content")->integer(
|
||||
-name=>"thumbnailSize",
|
||||
-label=>$i18n->get(406),
|
||||
-hoverHelp=>$i18n->get('406 description'),
|
||||
-value=>$session->setting->get("thumbnailSize")
|
||||
);
|
||||
$tabform->getTab("content")->yesNo(
|
||||
-name=>"metaDataEnabled",
|
||||
-label=>$i18n->get("Enable Metadata"),
|
||||
-hoverHelp=>$i18n->get("Enable Metadata description"),
|
||||
-value=>$session->setting->get("metaDataEnabled")
|
||||
);
|
||||
# user interface settings
|
||||
$tabform->getTab("ui")->selectBox(
|
||||
-name=>"richEditor",
|
||||
-label=>$i18n->get("default rich editor"),
|
||||
-hoverHelp=>$i18n->get("default rich editor description"),
|
||||
-value=>[$session->setting->get("richEditor")],
|
||||
-options=>WebGUI::Asset::RichEdit->getList($session),
|
||||
-defaultValue=>["PBrichedit000000000001"]
|
||||
);
|
||||
$tabform->getTab("ui")->integer(
|
||||
-name=>"textBoxSize",
|
||||
-label=>$i18n->get(465),
|
||||
-hoverHelp=>$i18n->get('465 description'),
|
||||
-value=>$session->setting->get("textBoxSize")
|
||||
);
|
||||
$tabform->getTab("ui")->template(
|
||||
-name=>"userFunctionStyleId",
|
||||
-label=>$i18n->get('user function style'),
|
||||
-hoverHelp=>$i18n->get('user function style description'),
|
||||
-namespace=>"style",
|
||||
-value=>$session->setting->get("userFunctionStyleId")
|
||||
);
|
||||
$tabform->getTab("ui")->template(
|
||||
-name=>"AdminConsoleTemplate",
|
||||
-label=>$i18n->get('admin console template'),
|
||||
-hoverHelp=>$i18n->get('admin console template description'),
|
||||
-namespace=>"AdminConsole",
|
||||
-value=>$session->setting->get("AdminConsoleTemplate")
|
||||
);
|
||||
# messaging settings
|
||||
$tabform->getTab("messaging")->text(
|
||||
-name=>"smtpServer",
|
||||
-label=>$i18n->get(135),
|
||||
-hoverHelp=>$i18n->get('135 description'),
|
||||
-value=>$session->setting->get("smtpServer")
|
||||
);
|
||||
$tabform->getTab("messaging")->textarea(
|
||||
-name=>"mailFooter",
|
||||
-label=>$i18n->get(824),
|
||||
-hoverHelp=>$i18n->get('824 description'),
|
||||
-value=>$session->setting->get("mailFooter")
|
||||
);
|
||||
$tabform->getTab("messaging")->email(
|
||||
-name=>"mailReturnPath",
|
||||
-label=>$i18n->get("mail return path"),
|
||||
-hoverHelp=>$i18n->get('mail return path help'),
|
||||
-value=>$session->setting->get("mailReturnPath")
|
||||
);
|
||||
# misc
|
||||
$tabform->getTab("misc")->yesNo(
|
||||
-name=>"preventProxyCache",
|
||||
-label=>$i18n->get(400),
|
||||
-hoverHelp=>$i18n->get('400 description'),
|
||||
-value=>$session->setting->get("preventProxyCache")
|
||||
);
|
||||
$tabform->getTab("misc")->text(
|
||||
-name=>"debugIp",
|
||||
-label=>$i18n->get("debug ip"),
|
||||
-hoverHelp=>$i18n->get("debug ip description"),
|
||||
-value=>$session->setting->get("debugIp")
|
||||
);
|
||||
$tabform->getTab("misc")->yesNo(
|
||||
-name=>"showDebug",
|
||||
-label=>$i18n->get(707),
|
||||
-hoverHelp=>$i18n->get('707 description'),
|
||||
-value=>$session->setting->get("showDebug")
|
||||
);
|
||||
$tabform->getTab("misc")->yesNo(
|
||||
-name=>"showPerformanceIndicators",
|
||||
-label=>$i18n->get('show performance indicators'),
|
||||
-hoverHelp=>$i18n->get('show performance indicators description'),
|
||||
-value=>$session->setting->get("showPerformanceIndicators")
|
||||
);
|
||||
$tabform->getTab("misc")->selectBox(
|
||||
-name=>"hostToUse",
|
||||
-value=>[$session->setting->get("hostToUse")],
|
||||
-options=>{
|
||||
sitename=>$i18n->get(1070),
|
||||
HTTP_HOST=>$i18n->get(1071)
|
||||
},
|
||||
-label=>$i18n->get(1069),
|
||||
-hoverHelp=>$i18n->get('1069 description'),
|
||||
);
|
||||
# user settings
|
||||
$tabform->getTab("user")->yesNo(
|
||||
-name=>"anonymousRegistration",
|
||||
-label=>$i18n->get(118),
|
||||
-hoverHelp=>$i18n->get('118 description'),
|
||||
-value=>$session->setting->get("anonymousRegistration")
|
||||
);
|
||||
$tabform->getTab("user")->workflow(
|
||||
-none=>1,
|
||||
-type=>"WebGUI::User",
|
||||
-name=>"runOnRegistration",
|
||||
-label=>$i18n->get(559),
|
||||
-hoverHelp=>$i18n->get('559 description'),
|
||||
-value=>$session->setting->get("runOnRegistration")
|
||||
);
|
||||
$tabform->getTab("user")->yesNo(
|
||||
-name=>"useKarma",
|
||||
-label=>$i18n->get(539),
|
||||
-hoverHelp=>$i18n->get('539 description'),
|
||||
-value=>$session->setting->get("useKarma")
|
||||
);
|
||||
$tabform->getTab("user")->integer(
|
||||
-name=>"karmaPerLogin",
|
||||
-label=>$i18n->get(540),
|
||||
-hoverHelp=>$i18n->get('540 description'),
|
||||
-value=>$session->setting->get("karmaPerLogin")
|
||||
);
|
||||
$tabform->getTab("user")->interval(
|
||||
-name=>"sessionTimeout",
|
||||
-label=>$i18n->get(142),
|
||||
-hoverHelp=>$i18n->get('142 description'),
|
||||
-value=>$session->setting->get("sessionTimeout")
|
||||
);
|
||||
$tabform->getTab("user")->yesNo(
|
||||
-name=>"selfDeactivation",
|
||||
-label=>$i18n->get(885),
|
||||
-hoverHelp=>$i18n->get('885 description'),
|
||||
-value=>$session->setting->get("selfDeactivation")
|
||||
);
|
||||
$tabform->getTab("user")->yesNo(
|
||||
-name=>"encryptLogin",
|
||||
-label=>$i18n->get(1006),
|
||||
-hoverHelp=>$i18n->get('1006 description'),
|
||||
-value=>$session->setting->get("encryptLogin")
|
||||
);
|
||||
$tabform->getTab("user")->yesNo(
|
||||
-name=>"passiveProfilingEnabled",
|
||||
-label=>$i18n->get("Enable passive profiling"),
|
||||
-hoverHelp=>$i18n->get("Enable passive profiling description"),
|
||||
-value=>$session->setting->get("passiveProfilingEnabled"),
|
||||
-extras=>'onchange="alert(\''.$i18n->get("Illegal Warning").'\')" '
|
||||
);
|
||||
# auth settings
|
||||
my $options;
|
||||
foreach (@{$session->config->get("authMethods")}) {
|
||||
$options->{$_} = $_;
|
||||
}
|
||||
$tabform->getTab("auth")->selectBox(
|
||||
-name=>"authMethod",
|
||||
-options=>$options,
|
||||
-label=>$i18n->get(164),
|
||||
-hoverHelp=>$i18n->get('164 description'),
|
||||
-value=>[$session->setting->get("authMethod")],
|
||||
-extras=>"onchange=\"active=operateHidden(this.options[this.selectedIndex].value,active)\""
|
||||
);
|
||||
my $definitions = definition($session, $i18n);
|
||||
foreach my $definition (@{$definitions}) {
|
||||
$tabform->getTab($definition->{tab})->dynamicField(%{$definition});
|
||||
}
|
||||
foreach (@{$session->config->get("authMethods")}) {
|
||||
$tabform->getTab("auth")->fieldSetStart($_);
|
||||
my $authInstance = WebGUI::Operation::Auth::getInstance($session,$_,1);
|
||||
|
|
@ -297,18 +387,16 @@ is in group Admin (3). Returns the user to the Edit Settings screen, www_editSe
|
|||
sub www_saveSettings {
|
||||
my $session = shift;
|
||||
return $session->privilege->adminOnly() unless ($session->user->isInGroup(3));
|
||||
my ($key, $value);
|
||||
foreach $key (%{$session->form->paramsHashRef}) {
|
||||
$value = $session->form->process("$key");
|
||||
if ($key =~ m/(.*)_interval/) {
|
||||
$value = $session->form->interval($1);
|
||||
$key = $1;
|
||||
} elsif ($key =~ m/_units/) {
|
||||
next;
|
||||
}
|
||||
unless ($key eq "op") {
|
||||
$session->setting->set($key,$value);
|
||||
}
|
||||
my $i18n = WebGUI::International->new($session, "WebGUI");
|
||||
my $definitions = definition($session, $i18n);
|
||||
my $setting = $session->setting;
|
||||
my $form = $session->form;
|
||||
foreach my $definition (@{$definitions}) {
|
||||
$setting->set($definition->{name}, $form->process($definition->{name}, $definition->{fieldType}, undef, $definition));
|
||||
}
|
||||
foreach (@{$session->config->get("authMethods")}) {
|
||||
my $authInstance = WebGUI::Operation::Auth::getInstance($session,$_,1);
|
||||
$authInstance->editUserSettingsFormSave;
|
||||
}
|
||||
return www_editSettings($session);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue