Hallo Michael, danke für Deine Mail. Deine Implementierung läuft bei mir bis auf eine kleine Ausnahme ohne Probleme: Und zwar, funktionieren Links der Art:
[[wiki.page|* +]] nicht, wenn zwischen dem * und dem + ein Leerfeld ist. Daher habe ich das Markup mal angepasst: Markup('[[|*','<[[|',"/(?>\\[\\[([^|\\]]+))\\|\\s*\\*\\s*(.*?)\\s*]]/e","Keep(LockTargetLink('$1','$2'),'L')"); Ich frage mich allerdings, warum Du das mit dem * gelöst hast? Kann man das nicht einfach so machen, dass jeder Link automatisch geprüft wird? Hat das Nachteile? @all: Falls mir noch jemand das Problem mit CondAuth erklären kann, wäre ich sehr dankbar. Viele Grüsse, Sebastian Michael Engelke schrieb: > 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: pmw...@mengelke.de ICQ: 267544462 Homepage: wiki.MEngelke.de > _______________________________________________ pmwiki-users-de mailing list pmwiki-users-de@pmichaud.com http://www.pmichaud.com/mailman/listinfo/pmwiki-users-de