diff options
author | redmatrix <git@macgirvin.com> | 2016-05-10 01:30:22 -0700 |
---|---|---|
committer | redmatrix <git@macgirvin.com> | 2016-05-10 01:30:22 -0700 |
commit | 0c5434d5e35f13340df5bf5edd22c6d9e9e8379c (patch) | |
tree | e5f415574ecce32e370b916ccbe142caf6e83b6a | |
parent | baa7020036f4b6112a58a99d04af2f5287a8c815 (diff) | |
download | volse-hubzilla-0c5434d5e35f13340df5bf5edd22c6d9e9e8379c.tar.gz volse-hubzilla-0c5434d5e35f13340df5bf5edd22c6d9e9e8379c.tar.bz2 volse-hubzilla-0c5434d5e35f13340df5bf5edd22c6d9e9e8379c.zip |
try again with shutdown handler, fix issue #373 (live-pubstream div wasn't present
-rw-r--r-- | Zotlabs/Module/Pubstream.php | 4 | ||||
-rw-r--r-- | Zotlabs/Module/Update_pubstream.php | 2 | ||||
-rw-r--r-- | Zotlabs/Web/Session.php | 5 | ||||
-rwxr-xr-x | boot.php | 11 |
4 files changed, 17 insertions, 5 deletions
diff --git a/Zotlabs/Module/Pubstream.php b/Zotlabs/Module/Pubstream.php index d6cfe6e92..e48f8363c 100644 --- a/Zotlabs/Module/Pubstream.php +++ b/Zotlabs/Module/Pubstream.php @@ -28,7 +28,7 @@ class Pubstream extends \Zotlabs\Web\Controller { if(! $maxheight) $maxheight = 400; - $o .= '<div id="live-public"></div>' . "\r\n"; + $o .= '<div id="live-pubstream"></div>' . "\r\n"; $o .= "<script> var profile_uid = " . ((intval(local_channel())) ? local_channel() : (-1)) . "; var profile_page = " . \App::$pager['page'] . "; divmore_height = " . intval($maxheight) . "; </script>\r\n"; @@ -161,7 +161,7 @@ class Pubstream extends \Zotlabs\Web\Controller { if(($items) && (! $update)) $o .= alt_pager($a,count($items)); - + return $o; } diff --git a/Zotlabs/Module/Update_pubstream.php b/Zotlabs/Module/Update_pubstream.php index 153db56ba..952b48df3 100644 --- a/Zotlabs/Module/Update_pubstream.php +++ b/Zotlabs/Module/Update_pubstream.php @@ -7,7 +7,7 @@ namespace Zotlabs\Module; class Update_pubstream extends \Zotlabs\Web\Controller { function get() { - + $profile_uid = ((intval($_GET['p'])) ? intval($_GET['p']) : (-1)); $load = (((argc() > 1) && (argv(1) == 'load')) ? 1 : 0); header("Content-type: text/html"); diff --git a/Zotlabs/Web/Session.php b/Zotlabs/Web/Session.php index f998df396..e18ad38fb 100644 --- a/Zotlabs/Web/Session.php +++ b/Zotlabs/Web/Session.php @@ -31,7 +31,7 @@ class Session { $handler = new \Zotlabs\Web\SessionHandler(); self::$handler = $handler; - $x = session_set_save_handler($handler,true); + $x = session_set_save_handler($handler,false); if(! $x) logger('Session save handler initialisation failed.',LOGGER_NORMAL,LOG_ERR); @@ -46,6 +46,9 @@ class Session { ((isset($_SERVER['HTTPS']) && strtolower($_SERVER['HTTPS']) == 'on') ? true : false), ((isset($arr['httponly'])) ? $arr['httponly'] : true) ); + + register_shutdown_function('session_write_close'); + } function start() { @@ -1633,7 +1633,16 @@ function login($register = false, $form_id = 'main-login', $hiddens=false) { * @brief Used to end the current process, after saving session state. */ function killme() { -// register_shutdown_function('shutdown'); + + // Ensure that closing the database is the last function on the shutdown stack. + // If it is closed prematurely sessions might not get saved correctly. + // Note the second arg to PHP's session_set_save_handler() seems to order that shutdown + // procedure last despite our best efforts, so we don't use that and implictly + // call register_shutdown_function('session_write_close'); within Zotlabs\Web\Session::init() + // and then register the database close function here where nothing else can register + // after it. + + register_shutdown_function('shutdown'); exit; } |