Requires: phpFox version 4.6.0 or higher.
Supported Types
- string
- large_string
- password
- integer
- boolean
- currency
- select
- array
- multi_text
Deprecated types
Below types won't be supported anymore since phpFox version 4.7.0.
- drop_with_key
- input:text
- input:radio
Sample Code
string
$user_groups_settings = [
'your_setting_name' => [
'var_name' => 'example_name',
'info' => 'example label',
'description' => 'example description',
'type' => 'string',
'value'=> [
'1' => 'string_admin',
'2' => 'string_registered_user',
'3' => 'string_guest',
'4' => 'string_staff',
'5' => 'string__ban',
]
],
];
large_string
$user_groups_settings = [
'your_setting_name' => [
'var_name' => 'example_name',
'info' => 'example label',
'description' => 'example description',
'type' => 'large_string',
'value'=> [
'1' => 'large_string_admin',
'2' => 'large_string_registered_user',
'3' => 'large_string_guest',
'4' => 'large_string_staff',
'5' => 'large_string_ban',
]
],
];
password
$user_groups_settings = [
'your_setting_name' => [
'var_name' => 'example_name',
'info' => 'example label',
'description' => 'example description',
'type' => 'password',
'value'=> [
'1' => 'password_admin',
'2' => 'password_registered_user',
'3' => 'password_guest',
'4' => 'password_staff',
'5' => 'password_ban',
]
],
];
integer
$user_groups_settings = [
'your_setting_name' => [
'var_name' => 'example_name',
'info' => 'example label',
'description' => 'example description',
'type' => 'integer',
'value'=> [
'1' => 1,
'2' => 2,
'3' => 3,
'4' => 4,
'5' => 5,
]
],
];
boolean
$user_groups_settings = [
'your_setting_name' => [
'var_name' => 'example_name',
'info' => 'example label',
'type' => 'boolean',
'value'=> [
'1' => 1,
'2' => 0,
'3' => 0,
'4' => 1,
'5' => 1,
]
],
];
currency
$user_groups_settings = [
'your_setting_name' => [
'var_name' => 'example_name',
'info' => 'example label',
'description' => 'example description',
'type' => 'currency',
'value' => [
'1' => ['USD' => 0],
'2' => ['USD' => 1],
'3' => ['USD' => 2],
'4' => ['USD' => 3],
'5' => ['USD' => 4],
]
],
];
select
$user_groups_settings = [
'your_setting_name' => [
'var_name' => 'example_name',
'info' => 'example label',
'description'=>'example description',
'type' => 'select',
'value'=> [
'1' => 'value_1',
'2' => 'value_2',
'3' => 'value_2',
'4' => 'value_1',
'5' => 'value_2',
]
'options' => [
'value_1' => 'Value label 1',
'value_2' => 'Value label 2',
]
],
];
array
$user_groups_settings = [
'your_setting_name' => [
'var_name' => 'example_name',
'info' => 'example label',
'description' => 'example description',
'type' => 'array',
'value' => [
'1' => [1,2,3,4],
'2' => [10,20,30,40],
'3' => [11,21,31,41],
'4' => [12,22,32,42],
'5' => [13,23,33,43],
]
],
];
multi_text
$user_groups_settings = [
'your_setting_name' => [
'var_name' => 'example_name',
'info' => 'example_label',
'description' => 'example description',
'type' => 'multi_text',
'value' => [
'1' => [
'key1' =>'example value 1 group 1',
'key2' =>'example value 2 group 1',
],
'2' => [
'key1' =>'example value 1 group 2',
'key2' =>'example value 2 group 2',
],
'3' => [
'key1' =>'example value 1 group 3',
'key2' =>'example value 2 group 3',
],
'4' => [
'key1' =>'example value 1 group 4',
'key2' =>'example value 2 group 4',
],
'5' => [
'key1' =>'example value 1 group 5',
'key2' =>'example value 2 group 5',
],
],
],
];
Validation
You can support to validate your user group settings when admin change them in Admincp:
- Add a plugin/hook with name
validator.admincp_user_settings_{{app}}
please replace
appwith your app alias.
For example, below is the hook for validating settings of Blogs app:
// file name: vvalidator.admincp_user_settings_blog.php
$aValidation = [
'flood_control_blog' => [ //setting var name
'def' => 'int', //setting value must be a interger number
'min' => '0', //setting value must greater or equal to 0
'title' => _p('"Time to wait before add another blog" must be greater than or equal to 0'), //thrown message when admin enter invalid value
],
...
];