Talk:Permissions
From phpBB Development Wiki
Permissions talk page.
Just wanted to state that adding new permissions should *not* be done through an INSERT statement lonely but through the auth_admin::acl_add_option method.
- This possibility should definately be explained as it's the prefered alternative naderman 11:17, 27 December 2006 (UTC)
Contents |
Panels (in the ACP)
I've added this to the wiki:
To get the permission to show up under the right panel you need to use correct namning.
a_view_foo : Administrator permissions panel
m_view_foo : Moderator permissions panel
u_view_foo : User permissions panel
If you use the correct naming and giving it a category the permssion will show under the selected panel. Nothing more need todo.
But it needs to be reformated into a more userfriendly text.
Ztripez 20:04, 26 March 2007 (UTC)
Clear permissions using auth class method
Re-posting a message I received regarding this article... Highway of Life (talk) 17:05, 26 April 2007 (UTC)
I think there is a little improvement possible for an article in the Olympus Wiki ... suggestion:
clear permssions not by deleting cache folder, but using auth class, method/**and perhaps you also also must run
* Clear one or all users cached permission settings
*/
function acl_clear_prefetch($user_id = false)/**
* Fill auth_option statement for later querying based on the supplied options
*/
function build_auth_option_statement($key, $auth_options, &$sql_opts)Perhaps this could make modding a bit easier...
Well, I must back... doing some university stuff -- Greetings - Emanuelle_1982
some changes in CVS
well, in the permissions file there is a comment that the permissions lang file must in language/<lang>/acp folder, not into mods folder - it should be checked which method is correct
[EDIT:]both methods seems to be not working, even with clearing cache manually[/EDIT]
file: language/<lang>/acp/permissions_phpbb.php
/*
* MODDERS PLEASE NOTE
*
* You are able to put your permission sets into a separate file too by
* prefixing the new file with permissions_ and putting it into the acp
* language folder.
*
* An example of how the file could look like:
*
* <code>
*
* if (empty($lang) || !is_array($lang))
* {
* $lang = array();
* }
*
* // Adding new category
* $lang['permission_cat']['bugs'] = 'Bugs';
*
* // Adding new permission set
* $lang['permission_type']['bug_'] = 'Bug Permissions';
*
* // Adding the permissions
* $lang = array_merge($lang, array(
* 'acl_bug_view' => array('lang' => 'Can view bug reports', 'cat' => 'bugs'),
* 'acl_bug_post' => array('lang' => 'Can post bugs', 'cat' => 'post'), // Using a phpBB category here
* ));
*
* </code>
*/
--Emanuelle 1982 11:45, 1 May 2007 (UTC)
- Both methods work for me, but unless you have the latest cvs version, the filename must not begin with "permissions_phpbb" - see bug:10301.
- OK, that was the problem, now it works *gg*
2nd way for negating a permission
Well, there is a 2nd way to negate a permission request
1st and nearly always used: !$auth->acl_get('u_foo')
2nd (don't like it, not consistent) $auth->acl_get('!u_foo'), but is used too (in includes/mcp/mcp_topic.php)
Mention it or not?
- Pro: it is a possibility, and is used
- Contra: it reduces Code Readability
--Emanuelle 1982 16:27, 9 May 2007 (UTC)
- I think it is a bug, you should report it. Highway of Life (talk) 15:53, 10 May 2007 (UTC)
- was reported, with the said Information, DavidMJ thought that this will not be fixed [it works, there is a substring/strpos combo] bug:10695
- This has been implemented as it is a lot more efficient in some cases (not with simple acl_get) and also adds a feature to acl_getf, as you can't just use ! on an array to get forums where a user does not have a permission, this should be documented. --naderman 21:09, 10 May 2007
- was reported, with the said Information, DavidMJ thought that this will not be fixed [it works, there is a substring/strpos combo] bug:10695

