UI_ACCESS_TABLE — (partly documented)
Interchange 5.9.0:
Source: dist/lib/UI/Primitive.pm
Line 108 (context shows lines 98-112 in ui_acl_enabled():98)
sub ui_acl_enabled {
my $try = shift;
my $table;
$Global::SuperUserFunction = \&is_super;
my $default = defined $Global::Variable->{UI_SECURITY_OVERRIDE}
? $Global::Variable->{UI_SECURITY_OVERRIDE}
: 0;
if ($Vend::superuser) {
return $Vend::UI_entry = { super => 1 };
}
$table = $::Variable->{UI_ACCESS_TABLE} || 'access';
$Vend::WriteDatabase{$table} = 1;
my $db = Vend::Data::database_exists_ref($table);
return $default unless $db;
$db = $db->ref() unless $Vend::Interpolate::Db{$table};
Source: dist/lib/UI/Primitive.pm
Line 136 (context shows lines 126-140 in get_ui_table_acl():127)
sub get_ui_table_acl {
my ($table, $user, $keys) = @_;
$table = $::Values->{mv_data_table} unless $table;
my $acl_top;
if($user and $user ne $Vend::username) {
if ($Vend::UI_acl{$user}) {
$acl_top = $Vend::UI_acl{$user};
}
else {
my $ui_table = $::Variable->{UI_ACCESS_TABLE} || 'access';
my $acl_txt = Vend::Interpolate::tag_data($ui_table, 'table_control', $user);
return undef unless $acl_txt;
$acl_top = $ui_safe->reval($acl_txt);
return undef unless ref($acl_top);