version 1.135, 2001/08/04 13:38:35
|
version 1.139, 2001/08/04 20:13:17
|
Line 896 sub rolesinit {
|
Line 896 sub rolesinit {
|
my $author=0; |
my $author=0; |
map { |
map { |
%thesepriv=(); |
%thesepriv=(); |
if ($_!~/^st/) { $adv=1; } |
if (($_!~/^st/) && ($_!~/^ta/)) { $adv=1; } |
if (($_=~/^au/) || ($_=~/^ca/)) { $author=1; } |
if (($_=~/^au/) || ($_=~/^ca/)) { $author=1; } |
map { |
map { |
if ($_ ne '') { |
if ($_ ne '') { |
Line 1853 sub metadata {
|
Line 1853 sub metadata {
|
while ($token=$parser->get_token) { |
while ($token=$parser->get_token) { |
if ($token->[0] eq 'S') { |
if ($token->[0] eq 'S') { |
if (defined($token->[2]->{'package'})) { |
if (defined($token->[2]->{'package'})) { |
|
my $package=$token->[2]->{'package'}; |
|
my %thispackagekeys=(); |
|
my $keyroot=''; |
|
if (defined($token->[2]->{'part'})) { |
|
$keyroot.='_'.$token->[2]->{'part'}; |
|
} |
|
if (defined($token->[2]->{'id'})) { |
|
$keyroot.='_'.$token->[2]->{'id'}; |
|
} |
|
if ($metacache{$uri.':packages'}) { |
|
$metacache{$uri.':packages'}.=','.$package.$keyroot; |
|
} else { |
|
$metacache{$uri.':packages'}=$package.$keyroot; |
|
} |
|
undef %thispackagekeys; |
|
map { |
|
if ($_=~/^$package\&/) { |
|
my ($pack,$name,$subp)=split(/\&/,$_); |
|
my $value=$packagetab{$_}; |
|
if ($subp eq 'display') { |
|
my $part=$keyroot; |
|
$part=~s/^\_//; |
|
$value.=' [Part: '.$part.']'; |
|
} |
|
my $unikey='parameter'.$keyroot.'_'.$name; |
|
$thispackagekeys{$unikey}=1; |
|
$metacache{$uri.':'.$unikey.'.'.$subp}=$value; |
|
} |
|
} keys %packagetab; |
|
my $addpackagekeys=join(',',keys %thispackagekeys); |
|
if ($metacache{$uri.':keys'}) { |
|
$metacache{$uri.':keys'}.=','.$addpackagekeys; |
|
} else { |
|
$metacache{$uri.':keys'}=$addpackagekeys; |
|
} |
} else { |
} else { |
my $entry=$token->[1]; |
my $entry=$token->[1]; |
my $unikey=$entry; |
my $unikey=$entry; |
if (defined($token->[2]->{'part'})) { |
if (defined($token->[2]->{'part'})) { |
$unikey.='_'.$token->[2]->{'part'}; |
$unikey.='_'.$token->[2]->{'part'}; |
} |
} |
|
if (defined($token->[2]->{'id'})) { |
|
$unikey.='_'.$token->[2]->{'id'}; |
|
} |
if (defined($token->[2]->{'name'})) { |
if (defined($token->[2]->{'name'})) { |
$unikey.='_'.$token->[2]->{'name'}; |
$unikey.='_'.$token->[2]->{'name'}; |
} |
} |