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,