This thread is related to bug report 15830.
We at daimonin have the same problem and its related to a earlier bug
report from me and the cache system. For some reasons no dev jumped on it
(no offence, thats dev life) so i have to point it out:
The current Postnuke login/authkey/cache logic is simply broken.
With the current system you have either to decide to disable Smarty or
don't allow anything which needs an authkey - which is no option.
The problem itself is pretty simple: pnRender/Smarty is caching the Smarty
tags - including the < --[ pnsecgenauthkey module="Users" ]-- > and other
calls where caching is simply a bug.
With a cached authkey, the user can sometimes login, sometimes he is send
to a login/authkey loop hole - the effects are different and strange.
Whatever - the problem is gone when you enclose the call above with a [nocache]
tag.
But: There are more tags in the code templates which should never be cached like
the log/status messages.
And: We talk about *many* templates, also in non core and extern modules.
How to solve it? Well, enclose all with [nocache] but thats the worse fix.
My simple suggestion: Add a pnRender flag which should be enabled on default and
tells "auto cache system tag" (or reverse).
When enabled and smarty/pnRender is parsing a file, the parser don't look only for
[nocache] tags but also for a row of tags like the authkey which should be cached too.
When the parser finds such a system tag (stupid name, i don't know how to call it) outside
a [nocache] area it encloses it with a virtually [nocache].
Thats pretty simple because the whole logic and code for parsing end nocache is already there.
In that way the whole logic is there, backwards compability is given and we have another system
module option you guys can then explain over and over in the support thread...
Sounds like an idea, or?
edited by: michtoen, Feb 29, 2008 - 04:03 PM
