diff --git a/VERSIONS_WIP/141983 b/VERSIONS_WIP/141983 new file mode 100644 index 0000000000000000000000000000000000000000..02a0e411c2c9bef769f581339fa964f1d558f6ae --- /dev/null +++ b/VERSIONS_WIP/141983 @@ -0,0 +1 @@ + - ticket #141983 : Rechargement automatique de la page lorsque la session n'a pu être ouverte \ No newline at end of file diff --git a/library/startup.php b/library/startup.php index 9e404f1a355b046ecbaab92fc457368d6becbbe7..93b8bb6536aa9b9a941b35e30a88a7035829840a 100644 --- a/library/startup.php +++ b/library/startup.php @@ -202,14 +202,30 @@ class Bokeh_Engine { function setupSession() { - // Start Session - $session = new Zend_Session_Namespace(md5(BASE_URL)); - if (!isset($session->initialized)) - { - Zend_Session::regenerateId(); - $session->initialized = true; - } - if (!isset($session->baseUrl)) $session->baseUrl = BASE_URL; + try { + $session = new Zend_Session_Namespace(md5(BASE_URL)); + } catch (Zend_Session_Exception $e) { + header('HTTP/1.1 503 Service Unavailable'); + echo '<html>' + . '<body style="text-align:center">' + . '<img src="' . URL_SHARED_IMG . '/patience.gif' . '" />' + . 'Attente de connexion...' + . '<script>' + . 'setTimeout(() => window.location.reload(),5000);' + . '</script>' + . '</body>' + .'</html>'; + exit(); + } + + if (!isset($session->initialized)) { + Zend_Session::regenerateId(); + $session->initialized = true; + } + + if (!isset($session->baseUrl)) + $session->baseUrl = BASE_URL; + Zend_Registry::set('session', $session); return $this; }