-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Alexis Moinet wrote:
asselarain-mediawikil-/E1597aS9LQAvxtiuMwx3w@public.gmane.org a écrit :
Hm...doesn't these two lines mean that "Users (logged in or not) can't edit PAGES"? I want that to be like that -- users should not edit pages since this is a web page, but they should be able to participate by contributing to 'talk' pages.
I think the 'talk' right doesn't exist in mediawiki default installation, you need to create it by changing a little bit the *isAllowed()* function in "includes/User.php " folder.
You should not handle the talk pages editing in User::isAllowed ? it's a general function for *all* the permissions, and editing talk pages is not a "special case"! The right way would be to add the restrictions to Title::userCan via the hook userCan. Something like that in LocalSettings.php may work (I didn't check it), and will not be removed in upgrades:
# Set group edit restrictions $wgGroupPermissions['*']['editpage'] = false; $wgGroupPermissions['user']['editpage'] = true; $wgGruopPermissions['*']['edittalk'] = true;
# Set userCan hook $wgHooks['userCan'][] = 'wfSetEditRestrictions';
# Edit restrictions function wfSetEditRestrictions( &$title, &$user, $action, &$result ) { if( $action != 'edit' ) { return; } if( $title->isTalkPage() && !$user->isAllowed( 'edittalk' ) || !$title->isTalkPage() && !$user->isAllowed( 'editpage' ) { return false; } else { return true; } }