SearchProfile — specify files containing search profile definitions
The directive specifies filenames that contain search profile definitions.
An unlimited number of search profiles can be set up, performing complex searches on a single user click. At the same time, separately-defined search profiles keep your HTML pages cleaner.
As said,
multiple profiles can be defined, and within the same file.
In that case, profiles must be separated by
tokens. Each opening
token should be left-aligned,
and each
should be on a line by itself,
with no leading or trailing whitespace.
Interchange 5.9.0:
Source: lib/Vend/Config.pm
Line 4817 (context shows lines 4817-4858)
sub parse_profile { my ($var, $value) = @_; my ($c, $ref, $sref, $i); if($C) { $C->{"${var}Name"} = {} if ! $C->{"${var}Name"}; $sref = $C->{Source}; $ref = $C->{"${var}Name"}; $c = $C->{$var} || []; } else { no strict 'refs'; $sref = $Global::Source; ${"Global::${var}Name"} = {} if ! ${"Global::${var}Name"}; $ref = ${"Global::${var}Name"}; $c = ${"Global::$var"} || []; } $sref->{$var} = $value; my (@files) = glob($value); for(@files) { next unless $_; config_error( "No leading / allowed if NoAbsolute set. Contact administrator.\n") if m.^/. and $Global::NoAbsolute; config_error( "No leading ../.. allowed if NoAbsolute set. Contact administrator.\n") if m#^\.\./.*\.\.# and $Global::NoAbsolute; push @$c, (split /\s*[\r\n]+[\r\n]+\s*/, readfile($_)); } for($i = 0; $i < @$c; $i++) { if($c->[$i] =~ s/(^|\n)\s+([^\n\r]+)\r?\n/$1/) { my $name = $2; $name =~ s/\s+$//; $ref->{$name} = $i; } } return $c; }