[pmwiki-users-de] CondAuth und if auth
Michael Engelke
PmWiki at MEngelke.de
Di Jun 16 09:04:13 CDT 2009
Sebastian Schneider schrieb:
> Ich bin gestern auf ein kleines Problem im Zusammenhang mit CondAuth
> gestoßen:
>
> 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.
>
Klingt interessant!
> 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.
>
Ich selber habe "CondAuth" nie genutzt. Ich nutze für sowas
"RetrieveAuthPage" (Wird von CondAuth ebenfalls mitgenutzt)
Doku dazu:
http://article.gmane.org/gmane.comp.web.wiki.pmwiki.user/12493/match=retrieveauthpage
> Danke schonmal für Eure Tipps,
>
Da ich deine Idee recht interessant finde, habe ich diese Funktion mal
selber schnell für mich umgesetzt.
Aufruf:
[[page|*]] für page
[[wiki.page|*]] für Wiki.Page
[[wiki.page|*Name]] für Name
[[wiki.page|*+]] für Titel (von wiki.page)
## [[target |*wiki.page]] target links
Markup('[[|*','<[[|',"/(?>\\[\\[([^|\\]]+))\\|\\s*\\*(.*?)\\s*]]/e","Keep(LockTargetLink('$1','$2'),'L')");
function LockTargetLink($link,$name) {
$page = MakePagename("$GLOBALS[DefaultGroup].$GLOBALS[DefaultName]",$link);
if($name == '')
$name = (preg_match('/[.\/]/',$link)) ? $page : $link;
elseif($name == '+')
$name = PageVar($page,'$Title');
$html = MakeLink($pagename,$page,$name);
if(!RetrieveAuthPage($page, 'read', false, READPAGE_CURRENT))
$html .= " <img src='$GLOBALS[PubDirUrl]/icons/lock.png'>";
return Keep($html);
}
MfG Michael Engelke
--
eMail: PmWiki at MEngelke.de ICQ: 267544462 Homepage: wiki.MEngelke.de
-------------- nächster Teil --------------
Ein Dateianhang mit HTML-Daten wurde abgetrennt...
URL: http://www.pmichaud.com/pipermail/pmwiki-users-de/attachments/20090616/d866d999/attachment.html