Hi and thanks for the response!
On onsdag 15 juni 2005, 10:06, Perrin Harkins wrote:
> Ideally, I would suggest you stop putting your session in a global.
> That's just asking for trouble.
Yeah, I've had ambitions to do this for a long time, but not really a
way to implement it gracefully.
> If you put it in $r->pnotes() instead,
OK, I have been working a couple of nights now to do this, and have been
making some progress. But I seem to have difficulties with actually
passing the tied hash, that is, making sure I pass the actually tied
object, not just the data hash.
I currently assign to pnotes like this:
$r->pnotes(session => tied %session);
and the Plugin is where this is most important.
Since most "methods" access this in some way, I created a little helper
sub in the XSP:
sub _session {
my %session = @_;
my $r = Apache->request;
if (defined(%session)) {
$r->pnotes(session => tied %session);
return undef;
} else {
return %{ $r->pnotes("session") };
}
}
When I call this, I seem to be getting a big data structure, with the
data, blessed references to the data storage object, etc.
But it is apparently not the tied object nevertheless as I'm
subsequently doing
tied(%session)->delete;
and that stops with an error "Can't call method "delete" on an undefined
value"...
I have tried a few different things, like return tied
%{ $r->pnotes("session") };
but as one can probably guess, I really don't understand this...
The latest version is checked into SVN, and can be seen on the URI in my
initial email.
> you will never have to worry about it persisting and you can
> get rid of the cleanup handler.
Would be nice, but there is some code in it I would have to figure out
how to handle, it would be nice to just drop it if I can.
Cheers,
Kjetil
--
Kjetil Kjernsmo
Programmer/Astrophysicist/Skeptic/Ski-orienteer/Orienteer/Mountaineer
[EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED]
Homepage: http://www.kjetil.kjernsmo.net/ OpenPGP KeyID: 6A6A0BBC