Name

Profiles — specify files containing OrderProfile definitions on a global level

SYNOPSIS

filename...

DESCRIPTION

Specify filenames that contain OrderProfile definitions on a global level.

DIRECTIVE TYPE AND DEFAULT VALUE

Global directive

EXAMPLES

Example: Defining Profiles

Profiles etc/profiles.common

NOTES

For the complete discussion, please see the profile glossary entry.

AVAILABILITY

Profiles is available in Interchange versions:

4.6.0-5.9.0 (git-head)

SOURCE

Interchange 5.9.0:

Source: lib/Vend/Config.pm
Line 514

['Profiles',       'profile',        ''],

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]+__END__[\r\n]+\s*/, readfile($_));
}
for($i = 0; $i < @$c; $i++) {
  if($c->[$i] =~ s/(^|\n)__NAME__\s+([^\n\r]+)\r?\n/$1/) {
    my $name = $2;
    $name =~ s/\s+$//;
    $ref->{$name} = $i;
  }
}

return $c;
}

AUTHORS

Interchange Development Group

SEE ALSO

SearchProfile(7ic), OrderProfile(7ic), OrderReport(7ic)

DocBook! Interchange!