[pmwiki-users-de] CondAuth und if auth

Oliver Betz list_ob at gmx.net
Di Jun 16 10:54:06 CDT 2009


Sebastian Schneider schrieb:

>Ich schreibe gerade ein "Rezept", welches -ähnlich wie das
>ExternalLinks-Rezept hinter einem Link ein kleines Schloss-Symbol
>anzeigt, wenn die Seite zum Lesen durch ein Passwort geschützt ist.
>
>Dazu habe ich folgende Methode:
>
>function makeLockedLink($pagename, $target, $txt, $suffix) {
>   global $PubDirUrl;
> 
>   if ( CondAuth( $target, 'read' )  )
>     return MakeLink($pagename, $target, $txt,$suffix);
>   else
>     return MakeLink($pagename, $target, $txt,"&nbsp;<img src=".$PubDirUrl."/icons/lock.png>".$suffix);
>
>}
>
>Das Problem bei obiger Methode ist, dass CondAuth immer true
>zurückliefert, unabhängig davon ob ich das Passwort auf der betreffenden
>Seite bereits eingegeben habe.

vielleicht stimmt der Seitenname in $target nicht?

Bei mir funktioniert CondAuth wie erwartet, aber ich rufe es mit einem
festen Seitennamen auf: "if (! CondAuth('Main.HomePage', 'read'))", um
für Besucher eine "Nicht-Wiki-Darstellung" zu erhalten - die
Besucherseiten haben kein Lesepasswort.

Woher kommt $target?

Vielleicht brauchst Du ResolvePageName()?

Servus

Oliver