NoSearch — specify databases on which Interchange-style searches cannot be performed
Specify database names or globs that will be matched against the databases used in any attempted search. You may separate multiple match strings with whitespace, and may include shell-style wildcards (globs).
The default setting is userdb
, which
means that, by default, you cannot use Interchange-style searches on the
userdb table.
Example: Defining NoSearch
Disable searching on userdb, and other databases
beginning with ".
" or ending in ".secret
".
NoSearch userdb .* *.secret
Example: Overriding NoSearch setting on a specific page
[calc] $Config->{NoSearch} = '' [/calc]
For a discussion on why this example works (and works per-page), see configuration glossary entry.
This directive only disables Interchange file/database-based searches; pure SQL searches still work.
Interchange 5.9.0:
Source: lib/Vend/Config.pm
Line 3866 (context shows lines 3866-3886)
sub parse_wildcard { my($var, $value) = @_; return '' if ! $value; $value =~ s/\./\\./g; $value =~ s/\*/.*/g; $value =~ s/\?/./g; $value =~ s[({(?:.+?,)+.+?})] [ local $_ = $1; tr/{,}/(|)/; $_ ]eg; $value =~ s/\s+/|/g; eval { my $never = 'NeVAirBE'; $never =~ m{$value}; }; if($@) { config_error("Bad regular expression in $var."); } return $value; }