Am 21.03.2012 18:03, schrieb HiddenId:
Hi everybody.
We'd like to create a "Contrib" namespace which will be the only namespace where users of 
"user group" will be allowed to edit or create pages.
We've tried the following, but as a result, when we connect to the wiki as a 
"user", and when we type Contrib:bobopage in search box, we don't have access 
to create nor edit this page, even it is located inside Contrib. What did we wrong ? (the 
namespace is present in box/menu resulting from search, with all others namespaces)

Ac

---------------------- here bellow the code inside LocalSettings.php  
---------------------------

# Add CUSTOM namespaces and regulate access to
## Add "Contrib" namespace
$wgExtraNamespaces[500] = "Contrib"; # creation of namespace at 500 indice
$wgExtraNamespaces[501] = "Contrib_talk"; # creation of talk namespace at 500 + 
1 = 501 indice
define("NS_CONTRIB", 500); # define a constant for the namespace
define("NS_CONTRIB_TALK", 501); # define a constant for the talk namespace
$wgExtraNamespaces[NS_CONTRIB] = "Contrib";
$wgExtraNamespaces[NS_CONTRIB_TALK] = "Contrib_talk";
$wgContentNamespaces[] = 500; # make the namespace content taken in account by 
statistics tools
## access to "Contrib" namespace
# block / allow access to custom namespaces defined
$wgGroupPermissions['user']['edit'] = false; # forbid access to users
$wgGroupPermissions['user']['editcontrib'] = true; # give rights to be 
"editcontrib" to users
$wgNamespaceProtection[NS_CONTRIB] = array( 'editcontrib' ); # give rights to 
"editcontrib" rights owners

you cant deny the edit-right, cause without it, you cant edit anything.
If you want normal user just to be able to edit CONTRIB and CONTRIB_TALK, you will have to protect every other namespace like this:

$wgNamespaceProtection[NS_MAIN] = array( 'edit-main' );
$wgNamespaceProtection[NS_TALK] = array( 'edit-main' );
and so on.

And then you have to give the "edit-main"-right to every group that should be able to edit those namespaces:

$wgGroupPermissions['sysop']['edit-main'] = true;
and so on


also, your definition of those custom namespaces is redundant. Just use this:

define("NS_CONTRIB", 500); # define a constant for the namespace
define("NS_CONTRIB_TALK", 501); # define a constant for the talk namespace
$wgExtraNamespaces[NS_CONTRIB] = "Contrib";
$wgExtraNamespaces[NS_CONTRIB_TALK] = "Contrib_talk";
$wgContentNamespaces[] = 500; # make the namespace content taken in account by 
statistics tools

Hope that helps.
Greetings and good luck
stip


_______________________________________________
MediaWiki-l mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-l

Reply via email to