summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorivan <ivan>2007-11-08 04:21:29 +0000
committerivan <ivan>2007-11-08 04:21:29 +0000
commite3380da234d14fc2702300a90f4a0b5ff72cba82 (patch)
tree4e2a53dba0c17d4fd88dcbab3dad853195693470
parent8d673fa811a4ad772ceb8f10be2e31884cac6467 (diff)
add selfservice-session_timeout config
-rw-r--r--FS/FS/ClientAPI/MyAccount.pm3
-rw-r--r--FS/FS/Conf.pm8
2 files changed, 10 insertions, 1 deletions
diff --git a/FS/FS/ClientAPI/MyAccount.pm b/FS/FS/ClientAPI/MyAccount.pm
index 058c0b824..b42a91e80 100644
--- a/FS/FS/ClientAPI/MyAccount.pm
+++ b/FS/FS/ClientAPI/MyAccount.pm
@@ -88,7 +88,8 @@ sub login {
$session_id = md5_hex(md5_hex(time(). {}. rand(). $$))
} until ( ! defined _cache->get($session_id) ); #just in case
- _cache->set( $session_id, $session, '1 hour' );
+ my $timeout = $conf->config('selfservice-session_timeout') || '1 hour';
+ _cache->set( $session_id, $session, $timeout );
return { 'error' => '',
'session_id' => $session_id,
diff --git a/FS/FS/Conf.pm b/FS/FS/Conf.pm
index ed05811bb..030799acf 100644
--- a/FS/FS/Conf.pm
+++ b/FS/FS/Conf.pm
@@ -2018,6 +2018,14 @@ worry that config_items is freeside-specific and icky.
},
{
+ 'key' => 'selfservice-session_timeout',
+ 'section' => '',
+ 'description' => 'Self-service session timeout. Defaults to 1 hour.',
+ 'type' => 'select',
+ 'select_enum' => [ '1 hour', '2 hours', '4 hours', '8 hours', '1 day', '1 week', ],
+ },
+
+ {
'key' => 'disable_setup_suspended_pkgs',
'section' => 'billing',
'description' => 'Disables charging of setup fees for suspended packages.',