[pmwiki-users] edit perms in Profiles
    H. Fox 
    haganfox at users.sourceforge.net
       
    Wed Jul  4 01:53:10 CDT 2007
    
    
  
On 7/3/07, noskule <noskule at gmx.net> wrote:
> H. Fox schrieb:
> > On 7/3/07, noskule <noskule at gmx.net> wrote:
> >> hi list
> >> is there a way to limit edit permission in the profiles group only for
> >> pages with the same name as the authors name, ie
> >>
> >> UserA can only edit Profiles.UserA but not Profiles.UserB
> >
> > Try this local/Profiles.php script:
> >
> >   <?php if (!defined('PmWiki')) exit();
> >   ## Author's name must match the page name in order to edit.
> >   if ($action == 'edit' && ! CondAuth(@$pagename, 'admin')) {
> >     @include_once($FarmD.'/scripts/author.php');
> >     if ($Author && $Author != @PageVar($pagename, '$Name')) {
> >       $action='browse'; }
> >   }
> >
> > Hagan
> >
>
> hi hagan
> thanks for the snipset, this basically work, but there is an issue. If a
> user tries to edit a other users profiles page it doesn't show a  "don't
> have permission" message with the login screen but shows the page.
> That's not to bad, but also the if directive dosn't work (:if auth
> edit:) is true on every profiles page.
I'm sure there is, but I don't know how.  Originally I tried something
like this in config.php
   @include_once($FarmD.'/scripts/author.php');
   if ($Author != @PageVar($pagename, '$Name')) {
     $DefaultPasswords['edit'] = '*'; }
thinking it would lock the page, but pages wouldn't lock for some reason.
These conditionals might be useful:
   (:if equal {$Author} {$Name}:)
   (:if ! equal {$Author} {$Name}:)
See also http://www.pmwiki.org/wiki/PITS/00538
Hagan
    
    
More information about the pmwiki-users
mailing list