Requires: phpFox version 4.6.0 or higher.

Supported Types

Deprecated Types

Below types won't be supported anymore since phpFox version 4.7.0.

Sample Code

string

$settings = [
    'your_setting_name' => [
        'var_name'      => 'example_name',
        'info'          => 'example label',
        'description'   =>  'example description',
        'type'          => 'string',
        'value'         => 'default_value',
    ],
];

large_string

$settings = [
    'your_setting_name' => [
        'var_name'      => 'example_name',
        'info'          => 'example label',
        'description'   => 'example description',
        'type'          => 'large_string',
        'value'         => 'default_value',
    ],
];

password

$settings = [
    'your_setting_name' => [
        'var_name'      => 'example_name',
        'info'          => 'example label',
        'description'   => 'example description',
        'type'          => 'password',
        'value'         => 'default_value',
    ],
];

integer

$settings = [
    'your_setting_name' => [
        'var_name'      => 'example_name',
        'info'          => 'example label',
        'description'   => 'example description',
        'type'          => 'integer',
        'value'         => 10,
    ],
];

boolean

$settings = [
    'your_setting_name' => [
        'var_name'      => 'example_name',
        'info'          => 'example label',
        'description'   =>'example description',
        'type'          => 'boolean',
        'value'         => 0,
    ],
];

currency

$settings = [
    'your_setting_name' => [
        'var_name'      => 'example_name',
        'info'          => 'example label',
        'description'   => 'example description',
        'type'          => 'currency',
        'value'         => ['USD' => 0],
    ],
];

select

$settings = [
    'your_setting_name' => [
        'var_name'      => 'example_name',
        'info'          => 'example label',
        'description'   => 'example description',
        'type'          => 'select',
        'value'         => 'default_value',
        'options'       => [
            'value_1' => 'Value label 1',
            'value_2' => 'Value label 2',
        ]
    ],
];

array

$settings = [
    'your_setting_name' => [
        'var_name'      => 'example_name',
        'info'          => 'example label',
        'description'   =>'example description',
        'type'          => 'array',
        'value'         => [1,2,3,4],
    ],
];

multi_text

$settings = [
    'your_setting_name' => [
        'var_name'      => 'example_name',
        'info'          => 'example label',
        'description'   =>'example description',
        'type'          => 'multi_text',
        'value'         => [
            'value_1' => 'Value label 1',
            'value_2' => 'Value label 2',
        ],
    ],
];

Validation

You can support to validate your apps settings when admin change them in Admincp:

 

please replace app with your app alias.

For example, below is the hook for validating settings of Basic Ads app:

 

// file name: validator.admincp_settings_ad.php

$aValidation = [
    'ad_multi_ad_count' => [// setting var name
        'def' => 'int:required', //the setting is required and must be an integer number
        'min' => '1', // the in value for this setting is 1.
        'title' => _p('"Ads min Multi-Ad Location" must be greater than 0'), thrown message when admin enter invalid value.
    ]
];