I just tried to use Zend's session namespaces in a plugin, and failed. As it seems, the usage of session_start and of $_SESSION in Piwik prevents plugins from using this.
The attached patch should apply cleanly against 0.4.1, I replaced every occurance of $_SESSION with a new Zend session namespace named after the core component/plugin.
I tested the Installer plugin, should work fine.
Keywords: session handling zend
Yet you skipped core/Config.php and plugins/Dashboard?
my bad, forgot to add plugins/Dashboard to the patch. The comment in core/Config.php has been updated too.
Instead of removing session_start(), shouldn't it be replaced with Zend_Session::start()?
Look at libs/Zend/Session/Namespace.php, line 116 - it's called by the constructor anyway.
Right. And Zend_Session is indirectly used by Zend_Auth...
Ok, committing with some minor changes.
(In ) Fixes #828 - use Zend_Session / Zend_Session_Namespace
(In ) refs #828 - fix 'Trying to get property of non-object' error
PHP 5.2.0 bug causes:
Indirect modification of overloaded property Zend_Session_Namespace::$skipThisStep has no effect
in '/home/hostnser/sd/phpmv/plugins/Installation/Controller.php' at the line 212
(In ) fixes #885, refs #828 - dispatcher starts/resumes session unless PIWIK_ENABLE_SESSION_START=0
(In ) fixes #828 - workaround ZF1743 and refactor session handling code