Coding standards
Security in ResourceSpace
Developer reference
Database
Action functions
Admin functions
Ajax functions
Annotation functions
API functions
Collections functions
Comment functions
Config functions
CSV export functions
Dash functions
Debug functions
Encryption functions
Facial recognition functions
File functions
General functions
Language functions
Log functions
Login functions
Message functions
Migration functions
Node functions
PDF functions
Plugin functions
Render functions
Reporting functions
Request functions
Research functions
Slideshow functions
Theme permission functions
User functions
Video functions
Database functions
Metadata functions
Resource functions
Search functions
Map functions
Job functions
Tab functions
Test functions

get_config_options()

Description

Get config option from database for a specific user, system wide or user group.

array() - Supply an empty array to return a system config value.
array('user' => 1) - Supply 'user' with the integer user reference to return user config values.
array('usergroup' => 2) - Supply 'user' with the integer user reference to return user group config values.
Note: Supplying both 'user' and 'usergroup' is invalid.
this parameter which is passed by reference

Parameters

ColumnTypeDefaultDescription
$config_type array The type of config to retrieve supplied as an array. The following combinations are possible:
&$returned_options array
$returned_options array If a value does exist it will be returned through

Return

boolean

Location

include/config_functions.php lines 402 to 451

Definition

 
function get_config_options(array $config_type, array &$returned_options)
    {
    if (isset(
$config_type['user']) && isset($config_type['usergroup'])) {
        return 
false# Both user and usergroup cannot be supplied.
    
}

    foreach(
$config_type as $type_value) {
        if (!
is_int_loose($type_value)) {
            return 
false;
        }
    }
    
    
$params = [];
    if (isset(
$config_type['user'])) {
        
# Return user preferences.
        
$sql 'user = ?';
        
$params = ['i'$config_type['user']];
    } elseif (isset(
$config_type['usergroup'])) {
        
# Return user group config.
        
$usergroup_id get_usergroup_parent_for_inherit_flag($config_type['usergroup'], 'preferences');
        
$sql 'usergroup = ?';
        
$params = ['i'$usergroup_id];
    } else {
        
# Return system config.
        
$sql 'user IS NULL AND usergroup IS NULL';
    }

    
$query 'SELECT parameter, `value` FROM user_preferences WHERE ' $sql;
    
$config_options ps_query($query$params"preferences");

    if(empty(
$config_options)) {
        return 
false;
    }

    
// Strip out any system configs that are blocked from being edited in the UI that might have been set previously.
    
global $system_config_hide;
    if (
count($config_type) === && count($system_config_hide) > 0) {
        
$new_config_options=array();
        for(
$n=0;$n<count($config_options);$n++) {
            if (!
in_array($config_options[$n]["parameter"], $system_config_hide)) {
                
$new_config_options[] = $config_options[$n];
            } 
// Add if not blocked
        
}
        
$config_options=$new_config_options;
    }

    
$returned_options $config_options;

    return 
true;
    }

This article was last updated 14th April 2025 21:35 Europe/London time based on the source file dated 10th April 2025 10:35 Europe/London time.