Possibility to set ping interval in portal (#658)

This commit is contained in:
Clément Oudot 2014-02-07 10:17:45 +00:00
parent 1143ceb805
commit c4b207b73a
7 changed files with 19 additions and 8 deletions

View File

@ -198,9 +198,11 @@
</div> </div>
<TMPL_IF NAME="PING">
<!-- Keep session alive --> <!-- Keep session alive -->
<script type="text/javascript"> <script type="text/javascript">
setTimeout('ping();',60000); setTimeout('ping();',pingInterval);
</script> </script>
</TMPL_IF>
<TMPL_INCLUDE NAME="footer.tpl"> <TMPL_INCLUDE NAME="footer.tpl">

View File

@ -223,7 +223,7 @@ function ping() {
location.reload(true); location.reload(true);
} }
else { else {
setTimeout('ping();', 60000); setTimeout('ping();', pingInterval);
} }
} }
}); });

View File

@ -30,5 +30,6 @@
var appslistorder="<TMPL_VAR NAME="APPSLIST_ORDER">"; var appslistorder="<TMPL_VAR NAME="APPSLIST_ORDER">";
var scriptname="<TMPL_VAR NAME="SCRIPT_NAME">"; var scriptname="<TMPL_VAR NAME="SCRIPT_NAME">";
var activeTimer="<TMPL_VAR NAME="ACTIVE_TIMER">"; var activeTimer="<TMPL_VAR NAME="ACTIVE_TIMER">";
var pingInterval=parseInt("<TMPL_VAR NAME="PING">");
//]]></script> //]]></script>

View File

@ -192,10 +192,12 @@
</div> </div>
</div> </div>
<TMPL_IF NAME="PING">
<!-- Keep session alive --> <!-- Keep session alive -->
<script type="text/javascript"> <script type="text/javascript">
setTimeout('ping();',60000); setTimeout('ping();',pingInterval);
</script> </script>
</TMPL_IF>
<TMPL_INCLUDE NAME="footer.tpl"> <TMPL_INCLUDE NAME="footer.tpl">

View File

@ -193,9 +193,11 @@
</div> </div>
<TMPL_IF NAME="PING">
<!-- Keep session alive --> <!-- Keep session alive -->
<script type="text/javascript"> <script type="text/javascript">
setTimeout('ping();',60000); setTimeout('ping();',pingInterval);
</script> </script>
</TMPL_IF>
<TMPL_INCLUDE NAME="footer.tpl"> <TMPL_INCLUDE NAME="footer.tpl">

View File

@ -9,7 +9,7 @@ use strict;
use Lemonldap::NG::Portal::Simple; use Lemonldap::NG::Portal::Simple;
use utf8; use utf8;
our $VERSION = '1.3.0'; our $VERSION = '1.4.0';
## @method array display() ## @method array display()
# Call portal process and set template parameters # Call portal process and set template parameters
@ -112,6 +112,7 @@ sub display {
APPSLIST_DESC => $self->{menuAppslistDesc}, # For old templates APPSLIST_DESC => $self->{menuAppslistDesc}, # For old templates
SCRIPT_NAME => $ENV{SCRIPT_NAME}, SCRIPT_NAME => $ENV{SCRIPT_NAME},
APPSLIST_ORDER => $self->{sessionInfo}->{'appsListOrder'}, APPSLIST_ORDER => $self->{sessionInfo}->{'appsListOrder'},
PING => $self->{portalPingInterval},
); );
} }

View File

@ -69,7 +69,7 @@ use Digest::MD5;
#inherits Apache::Session #inherits Apache::Session
#link Lemonldap::NG::Common::Apache::Session::SOAP protected globalStorage #link Lemonldap::NG::Common::Apache::Session::SOAP protected globalStorage
our $VERSION = '1.3.2'; our $VERSION = '1.4.0';
use base qw(Lemonldap::NG::Common::CGI Exporter); use base qw(Lemonldap::NG::Common::CGI Exporter);
our @ISA; our @ISA;
@ -569,6 +569,8 @@ sub setDefaultValues {
$self->{authChoiceParam} ||= "lmAuth"; $self->{authChoiceParam} ||= "lmAuth";
$self->{hiddenAttributes} = "_password" $self->{hiddenAttributes} = "_password"
unless defined $self->{hiddenAttributes}; unless defined $self->{hiddenAttributes};
$self->{portalPingInterval} = 60000
unless defined $self->{portalPingInterval};
# Set default userDB and passwordDB to DBI if authentication is DBI # Set default userDB and passwordDB to DBI if authentication is DBI
if ( $self->{authentication} =~ /DBI/i ) { if ( $self->{authentication} =~ /DBI/i ) {
@ -2456,6 +2458,7 @@ sub store {
# Main session # Main session
my $h = $self->getApacheSession( $self->{id} ) my $h = $self->getApacheSession( $self->{id} )
or return PE_APACHESESSIONERROR; or return PE_APACHESESSIONERROR;
# Compute unsecure cookie value if needed # Compute unsecure cookie value if needed
if ( $self->{securedCookie} == 3 ) { if ( $self->{securedCookie} == 3 ) {
$self->{sessionInfo}->{_httpSession} = $self->{sessionInfo}->{_httpSession} =
@ -2512,8 +2515,8 @@ sub buildCookie {
if ( $self->{securedCookie} >= 2 ) { if ( $self->{securedCookie} >= 2 ) {
push @{ $self->{cookie} }, push @{ $self->{cookie} },
$self->cookie( $self->cookie(
-name => $self->{cookieName} . "http", -name => $self->{cookieName} . "http",
-value => $self->{sessionInfo}->{_httpSession}, -value => $self->{sessionInfo}->{_httpSession},
-domain => $self->{domain}, -domain => $self->{domain},
-path => "/", -path => "/",
-secure => 0, -secure => 0,