Collections functions
General functions
Node functions
Render functions
Theme permission functions
User functions
Resource functions

delete_config_option()

Description

Delete entry from the user_preferences table completely (instead of setting to blank via set_config_option).
Used by system preferences page when deleting a file to allow fallback to value (if set) in config.php instead
of replacing it with blank from user_preference value.

Parameters

ColumnTypeDefaultDescription
$user_id int|null User ID. Use NULL for system wide config options.
$param_name string Parameter name

Return

bool True if preference was deleted else false.

Location

include/config_functions.php lines 176 to 213

Definition

 
function delete_config_option(?int $user_idstring $param_name) : bool
    
{
    if(empty(
$param_name))
        {
        return 
false;
        }

    
$current_param_value null;
    if(
get_config_option($user_id$param_name$current_param_value))
        {
        if(
is_null($user_id))
            {
            
$user_query 'user IS NULL';
            }
        else
            {
            
$user_query 'user = ?';
            
$params[] = 'i'$params[] = $user_id;
            }

        
$query "DELETE FROM user_preferences WHERE "$user_query ." AND parameter = ?";
        
$params[] = "s"$params[] = $param_name;

        if (
is_null($user_id))      // only log activity for system changes, i.e. when user not specified
            
{
            
log_activity(nullLOG_CODE_DELETEDnull'user_preferences''value'"parameter='" $param_name "'"null$current_param_value);
            }

        
ps_query($query,$params);

        
// Clear disk cache
        
clear_query_cache("preferences");

        return 
true;
        }

    return 
false;
    }

This article was last updated 29th May 2024 10:05 Europe/London time based on the source file dated 23rd May 2024 18:05 Europe/London time.