Moodle PHP Documentation 4.2
Moodle 4.2.8 (Build: 20240610) (2d41ac46f45)
admin_setting_users_with_capability Class Reference

An admin setting for selecting one or more users who have a capability in the system context. More...

Inheritance diagram for admin_setting_users_with_capability:
admin_setting_configmultiselect admin_setting_configselect admin_setting

Public Member Functions

 __construct ($name, $visiblename, $description, $defaultsetting, $capability, $includeadmins=true)
 Constructor.
 
 add_dependent_on ($dependenton)
 Add a setting to the list of those that could cause this one to be hidden.
 
 config_read ($name)
 Returns the config if possible.
 
 config_write ($name, $value)
 Used to set a config pair and log change.
 
 get_defaultsetting ()
 Returns the default setting for class.
 
 get_dependent_on ()
 Get a list of the settings that could cause this one to be hidden.
 
 get_force_ltr ()
 Get whether this should be displayed in LTR mode.
 
 get_full_name ()
 Returns the fullname prefixed by the plugin.
 
 get_id ()
 Returns the ID string based on plugin and name.
 
 get_setting ()
 Returns the current setting.
 
 get_setting_flag_defaults (& $defaults)
 Get the list of defaults for the flags on this setting.
 
 get_setting_flag_value (admin_setting_flag $flag)
 Get the currently saved value for a setting flag.
 
 has_custom_form_control ()
 Whether this setting uses a custom form control.
 
 is_forceable ()
 Whether the setting can be overridden in config.php.
 
 is_readonly ()
 Is this option forced in config.php?
 
 is_related ($query)
 Is setting related to query text - used when searching.
 
 load_choices ()
 Load all of the uses who have the capability into choice array.
 
 output_html ($data, $query='')
 Returns XHTML multi-select field.
 
 output_select_html ($data, $current, $default, $extraname='')
 Returns XHTML select field.
 
 output_setting_flags ()
 Output the input fields for the advanced and locked flags on this setting.
 
 post_write_settings ($original)
 Execute postupdatecallback if necessary.
 
 set_advanced_flag_options ($enabled, $default)
 Set the advanced options flag on this admin setting.
 
 set_affects_modinfo ($affectsmodinfo)
 
 set_enabled_flag_options ($enabled, $default)
 Set the enabled options flag on this admin setting.
 
 set_force_ltr ($value)
 Set whether to force LTR or not.
 
 set_locked_flag_options ($enabled, $default)
 Set the locked options flag on this admin setting.
 
 set_required_flag_options ($enabled, $default)
 Set the required options flag on this admin setting.
 
 set_updatedcallback ($functionname)
 Function called if setting updated - cleanup, cache reset, etc.
 
 set_validate_function (?callable $validatefunction=null)
 Sets a validate function.
 
 write_setting ($data)
 Save the chosen setting provided as $data.
 
 write_setting_flags ($data)
 Write the values of the flags for this admin setting.
 

Public Attributes

bool $affectsmodinfo = false
 if set, indicates that a change to this setting requires rebuild course cache
 
array $choices
 Array of choices value=>label.
 
mixed $defaultsetting
 Can be string or array of string.
 
string $description
 localised long description in Markdown format
 
string $name
 unique ascii name, either 'mysetting' for settings that in config, or 'myplugin/mysetting' for ones in config_plugins.
 
bool $nosave = false
 true indicates this setting does not actually save anything, just information
 
array $optgroups
 Array of choices grouped using optgroups.
 
mixed $paramtype
 int means PARAM_XXX type, string is a allowed format in regex
 
mixed $plugin
 can be String or Null.
 
string $updatedcallback
 
lang_string string $visiblename
 localised name
 

Protected Member Functions

 add_to_config_log ($name, $oldvalue, $value)
 Log config changes if necessary.
 
 set_flag_options ($enabled, $default, $shortname, $displayname)
 Generic function to add a flag to this admin setting.
 
 validate_setting (string $data)
 Validate the setting.
 

Protected Attributes

string $capability
 The capabilities name.
 
callable null $choiceloader = null
 Loader function for choices.
 
bool $customcontrol = false
 Whether this setting uses a custom form control.
 
int $includeadmins
 include admin users too
 
callable null $validatefunction = null
 Validation function.
 

Detailed Description

An admin setting for selecting one or more users who have a capability in the system context.

An admin setting for selecting one or more users, who have a particular capability in the system context. Warning, make sure the list will never be too long. There is no paging or searching of this list.

To correctly get a list of users from this config setting, you need to call the get_users_from_config($CFG->mysetting, $capability); function in moodlelib.php.

License
http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later

Constructor & Destructor Documentation

◆ __construct()

admin_setting_users_with_capability::__construct ( $name,
$visiblename,
$description,
$defaultsetting,
$capability,
$includeadmins = true )

Constructor.

Parameters
string$nameunique ascii name, either 'mysetting' for settings that in config, or 'myplugin/mysetting' for ones in config_plugins.
string$visiblenamelocalised name
string$descriptionlocalised long description
array$defaultsettingarray of usernames
string$capabilitystring capability name.
bool$includeadminsinclude administrators

Member Function Documentation

◆ add_dependent_on()

admin_setting::add_dependent_on ( $dependenton)
inherited

Add a setting to the list of those that could cause this one to be hidden.

Parameters
string$dependenton

◆ add_to_config_log()

admin_setting::add_to_config_log ( $name,
$oldvalue,
$value )
protectedinherited

Log config changes if necessary.

Parameters
string$name
string$oldvalue
string$value

Reimplemented in admin_setting_configpasswordunmask.

◆ config_read()

admin_setting::config_read ( $name)
inherited

Returns the config if possible.

Return values
mixedreturns config if successful else null

Reimplemented in enrol_flatfile_role_setting.

◆ config_write()

admin_setting::config_write ( $name,
$value )
inherited

Used to set a config pair and log change.

Parameters
string$name
mixed$valueGets converted to string if not null
Return values
boolWrite setting to config table

Reimplemented in enrol_flatfile_role_setting.

◆ get_defaultsetting()

admin_setting_users_with_capability::get_defaultsetting ( )

Returns the default setting for class.

Return values
mixedArray, or string. Empty string if no default

Reimplemented from admin_setting.

◆ get_dependent_on()

admin_setting::get_dependent_on ( )
inherited

Get a list of the settings that could cause this one to be hidden.

Return values
array

◆ get_force_ltr()

admin_setting::get_force_ltr ( )
inherited

Get whether this should be displayed in LTR mode.

Return values
bool|null

Reimplemented in admin_setting_configtext, and admin_setting_filetypes.

◆ get_full_name()

admin_setting::get_full_name ( )
inherited

Returns the fullname prefixed by the plugin.

Return values
string

Reimplemented in admin_setting_managerepository.

◆ get_id()

admin_setting::get_id ( )
inherited

Returns the ID string based on plugin and name.

Return values
string

◆ get_setting()

admin_setting_users_with_capability::get_setting ( )

Returns the current setting.

Return values
mixedarray or string

Reimplemented from admin_setting_configmultiselect.

◆ get_setting_flag_defaults()

admin_setting::get_setting_flag_defaults ( & $defaults)
inherited

Get the list of defaults for the flags on this setting.

Parameters
arrayof strings describing the defaults for this setting. This is appended to by this function.

◆ get_setting_flag_value()

admin_setting::get_setting_flag_value ( admin_setting_flag $flag)
inherited

Get the currently saved value for a setting flag.

Parameters
admin_setting_flag$flag- One of the admin_setting_flag for this admin_setting.
Return values
bool

◆ has_custom_form_control()

admin_setting::has_custom_form_control ( )
inherited

Whether this setting uses a custom form control.

This function is especially useful to decide if we should render a label element for this setting or not.

Return values
bool

◆ is_forceable()

admin_setting::is_forceable ( )
inherited

Whether the setting can be overridden in config.php.

Returning true will allow the setting to be defined and overridden in config.php. Returning false will prevent the config setting from being overridden even when it gets defined in config.php.

Return values
bool

Reimplemented in admin_setting_sitesetcheckbox, admin_setting_sitesetselect, admin_setting_sitesettext, and admin_setting_special_frontpagedesc.

◆ is_readonly()

admin_setting::is_readonly ( )
inherited

Is this option forced in config.php?

Return values
bool

◆ is_related()

admin_setting_configmultiselect::is_related ( $query)
inherited

Is setting related to query text - used when searching.

Parameters
string$query
Return values
booltrue if related, false if not

Reimplemented from admin_setting_configselect.

◆ load_choices()

admin_setting_users_with_capability::load_choices ( )

Load all of the uses who have the capability into choice array.

Return values
boolAlways returns true

Reimplemented from admin_setting_configselect.

◆ output_html()

admin_setting_configmultiselect::output_html ( $data,
$query = '' )
inherited

Returns XHTML multi-select field.

Todo
Add vartype handling to ensure $data is an array
Parameters
array$dataArray of values to select by default
string$query
Return values
stringXHTML multi-select field

Reimplemented from admin_setting_configselect.

Reimplemented in core_admin\local\settings\autocomplete.

◆ output_select_html()

admin_setting_configselect::output_select_html ( $data,
$current,
$default,
$extraname = '' )
inherited

Returns XHTML select field.

Ensure the options are loaded, and generate the XHTML for the select element and any warning message. Separating this out from output_html makes it easier to subclass this class.

Parameters
string$datathe option to show as selected.
string$currentthe currently selected option in the database, null if none.
string$defaultthe default selected option.
Return values
arraythe HTML for the select element, and a warning message.
Deprecated
since Moodle 3.2

◆ output_setting_flags()

admin_setting::output_setting_flags ( )
inherited

Output the input fields for the advanced and locked flags on this setting.

Parameters
bool$adv- The current value of the advanced flag.
bool$locked- The current value of the locked flag.
Return values
string\$output- The html for the flags.

◆ post_write_settings()

admin_setting::post_write_settings ( $original)
inherited

Execute postupdatecallback if necessary.

Parameters
mixed$originaloriginal value before write_setting()
Return values
booltrue if changed, false if not.

Reimplemented in admin_setting_configstoredfile.

◆ set_advanced_flag_options()

admin_setting::set_advanced_flag_options ( $enabled,
$default )
inherited

Set the advanced options flag on this admin setting.

Parameters
bool$enabled- One of self\OPTION_ENABLED or self\OPTION_DISABLED
bool$default- The default for the flag

◆ set_affects_modinfo()

admin_setting::set_affects_modinfo ( $affectsmodinfo)
inherited
Parameters
bool$affectsmodinfoIf true, changes to this setting will cause the course cache to be rebuilt

◆ set_enabled_flag_options()

admin_setting::set_enabled_flag_options ( $enabled,
$default )
inherited

Set the enabled options flag on this admin setting.

Parameters
bool$enabled- One of self\OPTION_ENABLED or self\OPTION_DISABLED
bool$default- The default for the flag

◆ set_flag_options()

admin_setting::set_flag_options ( $enabled,
$default,
$shortname,
$displayname )
protectedinherited

Generic function to add a flag to this admin setting.

Parameters
bool$enabled- One of self\OPTION_ENABLED or self\OPTION_DISABLED
bool$default- The default for the flag
string$shortname- The shortname for this flag. Used as a suffix for the setting name.
string$displayname- The display name for this flag. Used as a label next to the checkbox.

◆ set_force_ltr()

admin_setting::set_force_ltr ( $value)
inherited

Set whether to force LTR or not.

Parameters
bool$valueTrue when forced, false when not force, null when unknown.

◆ set_locked_flag_options()

admin_setting::set_locked_flag_options ( $enabled,
$default )
inherited

Set the locked options flag on this admin setting.

Parameters
bool$enabled- One of self\OPTION_ENABLED or self\OPTION_DISABLED
bool$default- The default for the flag

◆ set_required_flag_options()

admin_setting::set_required_flag_options ( $enabled,
$default )
inherited

Set the required options flag on this admin setting.

Parameters
bool$enabled- One of self\OPTION_ENABLED or self\OPTION_DISABLED.
bool$default- The default for the flag.

◆ set_updatedcallback()

admin_setting::set_updatedcallback ( $functionname)
inherited

Function called if setting updated - cleanup, cache reset, etc.

Parameters
string$functionnameSets the function name
Return values
void

◆ set_validate_function()

admin_setting_configselect::set_validate_function ( ?callable $validatefunction = null)
inherited

Sets a validate function.

The callback will be passed one parameter, the new setting value, and should return either an empty string '' if the value is OK, or an error message if not.

Parameters
callable | null$validatefunctionValidate function or null to clear
Since
Moodle 3.10

◆ validate_setting()

admin_setting_configselect::validate_setting ( string $data)
protectedinherited

Validate the setting.

This uses the callback function if provided; subclasses could override to carry out validation directly in the class.

Parameters
string$dataNew value being set
Return values
stringEmpty string if valid, or error message text
Since
Moodle 3.10

◆ write_setting()

admin_setting_users_with_capability::write_setting ( $data)

Save the chosen setting provided as $data.

Parameters
array$data
Return values
mixedstring or array

Reimplemented from admin_setting_configmultiselect.

◆ write_setting_flags()

admin_setting::write_setting_flags ( $data)
inherited

Write the values of the flags for this admin setting.

Parameters
array$data- The data submitted from the form or null to set the default value for new installs.
Return values
bool- true if successful.

Member Data Documentation

◆ $plugin

mixed admin_setting::$plugin
inherited

can be String or Null.

Null means main config table


The documentation for this class was generated from the following file: