phpBB API Documentation
Class

auth_admin

class auth_admin extends auth

ACP Permission/Auth class

Properties

$acl
$cache
$acl_options
$acl_forum_ids

Methods

acl($userdata)

Init permissions

from auth
_fill_acl($user_permissions)

Fill ACL array with relevant bitstrings from user_permissions column

from auth
acl_get($opt, $f)

Look up an option if the option is prefixed with !, then the result becomes negated

from auth
acl_getf($opt, $clean = false)

Get forums with the specified permission setting if the option is prefixed with !, then the result becomes nagated

from auth
acl_getf_global($opt)

Get local permission state for any forum.

from auth
acl_gets()

Get permission settings (more than one)

from auth
acl_get_list($user_id = false, $opts = false, $forum_id = false)

Get permission listing based on userid/options/forumids

from auth
acl_cache($userdata)

Cache data to user_permissions row

from auth
build_bitstring($hold_ary)

Build bitstring from permission set

from auth
acl_clear_prefetch($user_id = false)

Clear one or all users cached permission settings

from auth
acl_role_data($user_type, $role_type, $ug_id = false, $forum_id = false)

Get assigned roles

from auth
acl_raw_data($user_id = false, $opts = false, $forum_id = false)

Get raw acl data based on user/option/forum

from auth
acl_user_raw_data($user_id = false, $opts = false, $forum_id = false)

Get raw user based permission settings

from auth
acl_group_raw_data($group_id = false, $opts = false, $forum_id = false)

Get raw group based permission settings

from auth
acl_raw_data_single_user($user_id)

Get raw acl data based on user for caching userpermissions This function returns the same data as aclraw_data(), but without the user id as the first key within the array.

from auth
_set_group_hold_ary($hold_ary, $option_id, $setting)

Private function snippet for setting a specific piece of the hold_ary

from auth
login($username, $password, $autologin = false, $viewonline = 1, $admin)

Authentication plug-ins is largely down to Sergey Kanareykin, our thanks to him.

from auth
build_auth_option_statement($key, $auth_options, $sql_opts)

Fill auth_option statement for later querying based on the supplied options

from auth
auth_admin()

Init auth settings

get_mask(set|view $mode, mixed $user_id = false, mixed $group_id = false, mixed $forum_id = false, string $auth_option = false, local|global $scope = false, ACL_NEVER|ACL_NO|ACL_YES $acl_fill = ACL_NEVER)

Get permission mask This function only supports getting permissions of one type (for example a_)

get_role_mask($role_id)

Get permission mask for roles This function only supports getting masks for one role

display_mask($mode, $permission_type, $hold_ary, $user_mode = 'user', $local = false, $group_display = true)

Display permission mask (assign to template)

display_role_mask($hold_ary)

Display permission mask for roles

acl_add_option($options)

NOTE: this function is not in use atm Add a new option to the list ...

acl_set($ug_type, $forum_id, $ug_id, $auth, $role_id, $clear_prefetch = true)

Set a user or group ACL record

acl_set_role($role_id, $auth)

Set a role-specific ACL record

acl_delete($mode, $ug_id = false, $forum_id = false, $permission_type = false)

Remove local permission

assign_cat_array($category_array, $tpl_cat, $tpl_mask, $ug_id, $forum_id, $show_trace = false, $s_view)

Assign category to template used by display_mask()

build_permission_array($permission_row, $content_array, $categories, $key_sort_array)

Building content array from permission rows with explicit key ordering used by display_mask()

ghost_permissions($from_user_id, $to_user_id)

Use permissions from another user.

Details

in auth at line 33
public acl($userdata)

Init permissions

Parameters

$userdata

in auth at line 110
public _fill_acl($user_permissions)

Fill ACL array with relevant bitstrings from user_permissions column

Parameters

$user_permissions

in auth at line 153
public acl_get($opt, $f)

Look up an option if the option is prefixed with !, then the result becomes negated

If a forum id is specified the local option will be combined with a global option if one exist. If a forum id is not specified, only the global option will be checked.

Parameters

$opt
$f

in auth at line 199
public acl_getf($opt, $clean = false)

Get forums with the specified permission setting if the option is prefixed with !, then the result becomes nagated

Parameters

$opt
$clean

in auth at line 280
public acl_getf_global($opt)

Get local permission state for any forum.

Returns true if user has the permission in one or more forums, false if in no forum. If global option is checked it returns the global state (same as acl_get($opt)) Local option has precedence...

Parameters

$opt

in auth at line 324
public acl_gets()

Get permission settings (more than one)

in auth at line 361
public acl_get_list($user_id = false, $opts = false, $forum_id = false)

Get permission listing based on userid/options/forumids

Be careful when using this function with permissions a_, m_, u_ and f_ ! It may not work correctly. When a user group grants an a* permission, e.g. afoo, but the user's afoo permission is set to "Never", then the user does not in fact have the a permission. But the user will still be listed as having the a_ permission.

For more information see: http://tracker.phpbb.com/browse/PHPBB3-10252

Parameters

$user_id
$opts
$forum_id

in auth at line 393
public acl_cache($userdata)

Cache data to user_permissions row

Parameters

$userdata

in auth at line 435
public build_bitstring($hold_ary)

Build bitstring from permission set

Parameters

$hold_ary

in auth at line 496
public acl_clear_prefetch($user_id = false)

Clear one or all users cached permission settings

Parameters

$user_id

in auth at line 543
public acl_role_data($user_type, $role_type, $ug_id = false, $forum_id = false)

Get assigned roles

Parameters

$user_type
$role_type
$ug_id
$forum_id

in auth at line 576
public acl_raw_data($user_id = false, $opts = false, $forum_id = false)

Get raw acl data based on user/option/forum

Parameters

$user_id
$opts
$forum_id

in auth at line 692
public acl_user_raw_data($user_id = false, $opts = false, $forum_id = false)

Get raw user based permission settings

Parameters

$user_id
$opts
$forum_id

in auth at line 744
public acl_group_raw_data($group_id = false, $opts = false, $forum_id = false)

Get raw group based permission settings

Parameters

$group_id
$opts
$forum_id

in auth at line 797
public acl_raw_data_single_user($user_id)

Get raw acl data based on user for caching userpermissions This function returns the same data as aclraw_data(), but without the user id as the first key within the array.

Parameters

$user_id

in auth at line 880
public _set_group_hold_ary($hold_ary, $option_id, $setting)

Private function snippet for setting a specific piece of the hold_ary

Parameters

$hold_ary
$option_id
$setting

in auth at line 909
public login($username, $password, $autologin = false, $viewonline = 1, $admin)

Authentication plug-ins is largely down to Sergey Kanareykin, our thanks to him.

Parameters

$username
$password
$autologin
$viewonline
$admin

in auth at line 1011
public build_auth_option_statement($key, $auth_options, $sql_opts)

Fill auth_option statement for later querying based on the supplied options

Parameters

$key
$auth_options
$sql_opts

at line 28
public auth_admin()

Init auth settings

at line 74
public get_mask(set|view $mode, mixed $user_id = false, mixed $group_id = false, mixed $forum_id = false, string $auth_option = false, local|global $scope = false, ACL_NEVER|ACL_NO|ACL_YES $acl_fill = ACL_NEVER)

Get permission mask This function only supports getting permissions of one type (for example a_)

Parameters

set|view $mode defines the permissions we get, view gets effective permissions (checking user AND group permissions), set only gets the user or group permission set alone
mixed $user_id user ids to search for (a userid or a groupid has to be specified at least)
mixed $group_id group ids to search for, return group related settings (a userid or a groupid has to be specified at least)
mixed $forum_id forum_ids to search for. Defining a forum id also means getting local settings
string $auth_option the authoption defines the permission setting to look for (a for example)
local|global $scope the scope defines the permission scope. If local, a forum_id is additionally required
ACL_NEVER|ACL_NO|ACL_YES $acl_fill defines the mode those permissions not set are getting filled with

at line 225
public get_role_mask($role_id)

Get permission mask for roles This function only supports getting masks for one role

Parameters

$role_id

at line 263
public display_mask($mode, $permission_type, $hold_ary, $user_mode = 'user', $local = false, $group_display = true)

Display permission mask (assign to template)

Parameters

$mode
$permission_type
$hold_ary
$user_mode
$local
$group_display

at line 607
public display_role_mask($hold_ary)

Display permission mask for roles

Parameters

$hold_ary

at line 688
public acl_add_option($options)

NOTE: this function is not in use atm Add a new option to the list ...

$options is a hash of form -> $options = array( 'local' => array('option1', 'option2', ...), 'global' => array('optionA', 'optionB', ...) );

Parameters

$options

at line 798
public acl_set($ug_type, $forum_id, $ug_id, $auth, $role_id, $clear_prefetch = true)

Set a user or group ACL record

Parameters

$ug_type
$forum_id
$ug_id
$auth
$role_id
$clear_prefetch

at line 931
public acl_set_role($role_id, $auth)

Set a role-specific ACL record

Parameters

$role_id
$auth

at line 994
public acl_delete($mode, $ug_id = false, $forum_id = false, $permission_type = false)

Remove local permission

Parameters

$mode
$ug_id
$forum_id
$permission_type

at line 1102
public assign_cat_array($category_array, $tpl_cat, $tpl_mask, $ug_id, $forum_id, $show_trace = false, $s_view)

Assign category to template used by display_mask()

Parameters

$category_array
$tpl_cat
$tpl_mask
$ug_id
$forum_id
$show_trace
$s_view

at line 1178
public build_permission_array($permission_row, $content_array, $categories, $key_sort_array)

Building content array from permission rows with explicit key ordering used by display_mask()

Parameters

$permission_row
$content_array
$categories
$key_sort_array

at line 1243
public ghost_permissions($from_user_id, $to_user_id)

Use permissions from another user.

This transferes a permission set from one user to another. The other user is always able to revert back to his permission set. This function does not check for lower/higher permissions, it is possible for the user to gain "more" permissions by this. Admin permissions will not be copied.

Parameters

$from_user_id
$to_user_id