From c4b207b73a964869c141caa5daf38af02a835902 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Oudot?= Date: Fri, 7 Feb 2014 10:17:45 +0000 Subject: [PATCH] Possibility to set ping interval in portal (#658) --- lemonldap-ng-portal/example/skins/bootstrap/menu.tpl | 4 +++- lemonldap-ng-portal/example/skins/common/js/portal.js | 2 +- lemonldap-ng-portal/example/skins/common/script.tpl | 1 + lemonldap-ng-portal/example/skins/impact/menu.tpl | 4 +++- lemonldap-ng-portal/example/skins/pastel/menu.tpl | 4 +++- lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Display.pm | 3 ++- lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Simple.pm | 9 ++++++--- 7 files changed, 19 insertions(+), 8 deletions(-) diff --git a/lemonldap-ng-portal/example/skins/bootstrap/menu.tpl b/lemonldap-ng-portal/example/skins/bootstrap/menu.tpl index 95c24a5fe..91012f9bf 100644 --- a/lemonldap-ng-portal/example/skins/bootstrap/menu.tpl +++ b/lemonldap-ng-portal/example/skins/bootstrap/menu.tpl @@ -198,9 +198,11 @@ + + diff --git a/lemonldap-ng-portal/example/skins/common/js/portal.js b/lemonldap-ng-portal/example/skins/common/js/portal.js index c992bbe22..7409714ac 100644 --- a/lemonldap-ng-portal/example/skins/common/js/portal.js +++ b/lemonldap-ng-portal/example/skins/common/js/portal.js @@ -223,7 +223,7 @@ function ping() { location.reload(true); } else { - setTimeout('ping();', 60000); + setTimeout('ping();', pingInterval); } } }); diff --git a/lemonldap-ng-portal/example/skins/common/script.tpl b/lemonldap-ng-portal/example/skins/common/script.tpl index 322eb4102..b4f21c4c1 100644 --- a/lemonldap-ng-portal/example/skins/common/script.tpl +++ b/lemonldap-ng-portal/example/skins/common/script.tpl @@ -30,5 +30,6 @@ var appslistorder=""; var scriptname=""; var activeTimer=""; + var pingInterval=parseInt(""); //]]> diff --git a/lemonldap-ng-portal/example/skins/impact/menu.tpl b/lemonldap-ng-portal/example/skins/impact/menu.tpl index d38d42485..0effbe609 100644 --- a/lemonldap-ng-portal/example/skins/impact/menu.tpl +++ b/lemonldap-ng-portal/example/skins/impact/menu.tpl @@ -192,10 +192,12 @@ + + diff --git a/lemonldap-ng-portal/example/skins/pastel/menu.tpl b/lemonldap-ng-portal/example/skins/pastel/menu.tpl index f133083c6..46ae05f4a 100644 --- a/lemonldap-ng-portal/example/skins/pastel/menu.tpl +++ b/lemonldap-ng-portal/example/skins/pastel/menu.tpl @@ -193,9 +193,11 @@ + + diff --git a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Display.pm b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Display.pm index b0aa0a358..4b2c1a37a 100644 --- a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Display.pm +++ b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Display.pm @@ -9,7 +9,7 @@ use strict; use Lemonldap::NG::Portal::Simple; use utf8; -our $VERSION = '1.3.0'; +our $VERSION = '1.4.0'; ## @method array display() # Call portal process and set template parameters @@ -112,6 +112,7 @@ sub display { APPSLIST_DESC => $self->{menuAppslistDesc}, # For old templates SCRIPT_NAME => $ENV{SCRIPT_NAME}, APPSLIST_ORDER => $self->{sessionInfo}->{'appsListOrder'}, + PING => $self->{portalPingInterval}, ); } diff --git a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Simple.pm b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Simple.pm index e0ff75953..a6ab811a4 100644 --- a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Simple.pm +++ b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Simple.pm @@ -69,7 +69,7 @@ use Digest::MD5; #inherits Apache::Session #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); our @ISA; @@ -569,6 +569,8 @@ sub setDefaultValues { $self->{authChoiceParam} ||= "lmAuth"; $self->{hiddenAttributes} = "_password" unless defined $self->{hiddenAttributes}; + $self->{portalPingInterval} = 60000 + unless defined $self->{portalPingInterval}; # Set default userDB and passwordDB to DBI if authentication is DBI if ( $self->{authentication} =~ /DBI/i ) { @@ -2456,6 +2458,7 @@ sub store { # Main session my $h = $self->getApacheSession( $self->{id} ) or return PE_APACHESESSIONERROR; + # Compute unsecure cookie value if needed if ( $self->{securedCookie} == 3 ) { $self->{sessionInfo}->{_httpSession} = @@ -2512,8 +2515,8 @@ sub buildCookie { if ( $self->{securedCookie} >= 2 ) { push @{ $self->{cookie} }, $self->cookie( - -name => $self->{cookieName} . "http", - -value => $self->{sessionInfo}->{_httpSession}, + -name => $self->{cookieName} . "http", + -value => $self->{sessionInfo}->{_httpSession}, -domain => $self->{domain}, -path => "/", -secure => 0,