[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 .= "&nbsp;<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