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

config_filter_by_search()

Description

Process values from config search fields, see render_config_filter_by_search()
Filter $page_def elements to show only those searched for.

array() - empty array for system config
array('user' => 1) - key 'user' and int representing user ref to check user preferences
array('usergroup' => 2) - key 'usergroup' and int representing usergroup ref to check user group preferences

Parameters

ColumnTypeDefaultDescription
$page_def array Array containing page definition, from functions config_add_ ...
$config_type array Array representing the type of config to check:
$find string Value from getval("find", "")
$only_modified: string
$only_modified string Value from getval("only_modified", "no")

Location

include/config_functions.php lines 2184 to 2216

Definition

 
function config_filter_by_search(array $page_def, array $config_typestring $findstring $only_modified): array
{
    
$only_modified $only_modified == 'yes';
    
$searching $find != "" || $only_modified;

    if (
$searching) {
        
// Check for search phrase in config. description.
        
if ($find !== '') {
            
$search_matches = array();
            foreach (
$page_def as $config_to_check) {
                if (isset(
$config_to_check[2]) && stripos($config_to_check[2], $find) !== false) {
                    
$search_matches[] = $config_to_check;
                }
            }
            
$page_def $search_matches;
        }
        
// Filter results to only config which has been changed previously i.e. exists in user_preferences with null in user column.
        
if ($only_modified) {
            
$search_matches = array();
            
$returned_options = array();
            
get_config_options($config_type$returned_options);
            
$returned_options array_column($returned_options'parameter');
            foreach (
$page_def as $config_to_check) {
                if (isset(
$config_to_check[1]) && in_array($config_to_check[1], $returned_options)) {
                    
$search_matches[] = $config_to_check;
                }
            }
            
$page_def $search_matches;
        }
    }

    return 
$page_def;
}

This article was last updated 20th April 2025 21:35 Europe/London time based on the source file dated 17th April 2025 16:15 Europe/London time.