[pmwiki-users] easy question to all
Patrick R. Michaud
pmichaud at pobox.com
Wed Oct 15 13:43:09 CDT 2008
On Wed, Oct 15, 2008 at 12:11:25PM -0500, Tegan Dowling wrote:
> On Wed, Oct 15, 2008 at 9:00 AM, Vince Administration wrote
> > On Oct 15, 2008, at 9:41 AM, Patrick R. Michaud wrote:
> >> Note that the code I gave depends on the existence of a page called
> >> "HomePage" in whatever group the page being edited belongs to. So,
> >> if you try to edit Group.ABC and Group.HomePage doesn't exist, then
> >> it'll look for the group password.
> >> Perhaps a better approach would be:
> >> $pagename = ResolvePageName($pagename);
> >> $rc = FmtPageName('$Group.HomePage', $pagename);
> >> if (!PageExists($pagename) && !PageExists($rc))
> >> $DefaultPasswords['edit'] = crypt('group_creation_password');
> > We don't use $Group.HomePage (except in Main). For some groups we
> > have $Group.$Group, and for others $Group.Index.
> Looking back at the original post in the thread, the instructions
> refer to testing for a group's RecentChanges page, since that is the
> one certain test for the existence of a group. What would the code
> look like for that?
When writing the above I was simply following the example of the
original post. To check for RecentChanges instead of HomePage
one would use:
$pagename = ResolvePageName($pagename);
$rc = FmtPageName('$Group.HomePage', $pagename);
if (!PageExists($pagename) && !PageExists($rc))
$DefaultPasswords['edit'] = crypt('group_creation_password');
This is described at http://www.pmwiki.org/wiki/Cookbook/LimitWikiGroups .
More information about the pmwiki-users