[pmwiki-devel] Advice needed for CondAuth and cookbook sequencing
Peter Bowers
pbowers at pobox.com
Tue Mar 2 02:11:35 CST 2010
On Tue, Mar 2, 2010 at 1:12 AM, Petko Yotov <5ko at 5ko.fr> wrote:
>
> > operations to accept a parameter disabling the caching operation for
> > that call. I haven't looked too much in to the feasibility of this, and
> > suspect it would might be a complex change to make, but it would at
> > least be transparent to existing code, and provide an option in cases
> > where we need to allow subsequent changes to objects.
>
> > Longer-term: It seems like it would make sense for functions which cache
> Yes it would be quite complicated, I'm also not sure if we could do this
> reliably -- we wouldn't know what to do if the page has(n't) already been
> read
> and cached.
>
>
I, too, have been frustrated by the "static $acache;" at times... (I'm
assuming this is the caching you are concerned about...)
I *believe* (completely untested) that this change would allow a global
$EnableAuthCache which could be turned off during config.php as needed...
===from this===
function PmWikiAuth($pagename, $level, $authprompt=true, $since=0) {
global $DefaultPasswords, $GroupAttributesFmt, $AllowPassword,
$AuthCascade, $FmtV, $AuthPromptFmt, $PageStartFmt, $PageEndFmt,
$AuthId, $AuthList, $NoHTMLCache;
static $acache;
SDV($GroupAttributesFmt,'$Group/GroupAttributes');
SDV($AllowPassword,'nopass');
===to this===
function PmWikiAuth($pagename, $level, $authprompt=true, $since=0) {
global $DefaultPasswords, $GroupAttributesFmt, $AllowPassword,
$AuthCascade, $FmtV, $AuthPromptFmt, $PageStartFmt, $PageEndFmt,
$AuthId, $AuthList, $NoHTMLCache;
// changes start here
global $EnableAuthCache; // included in the line above - put here for
clarity
static $bcache; // probably ought to be a more sensible name :-)
SDV($EnableAuthCache, true);
$acache = ($EnableAuthCache ? &$bcache : $bcache);
// below this no changes are necessary, I believe...
SDV($GroupAttributesFmt,'$Group/GroupAttributes');
SDV($AllowPassword,'nopass');
===end===
*If* this works I would love to see this capability. Having the static
definition with no control at all is often very limiting...
-Peter
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.pmichaud.com/pipermail/pmwiki-devel/attachments/20100302/1bcfb885/attachment.html
More information about the pmwiki-devel
mailing list