version 1.302, 2006/01/09 20:38:52
|
version 1.303, 2006/02/18 01:27:07
|
Line 3170 times for group members.
|
Line 3170 times for group members.
|
Outer hash key is functions. |
Outer hash key is functions. |
Inner hash keys are chat,discussion,email,files,homepage,roster. |
Inner hash keys are chat,discussion,email,files,homepage,roster. |
Corresponding values are either on or off, depending on |
Corresponding values are either on or off, depending on |
whther this type of functionality is available for the group. |
whether this type of functionality is available for the group. |
|
|
=cut |
=cut |
|
|
Line 3181 sub get_group_settings {
|
Line 3181 sub get_group_settings {
|
my $parser=HTML::TokeParser->new(\$groupinfo); |
my $parser=HTML::TokeParser->new(\$groupinfo); |
my $token; |
my $token; |
my $tool = ''; |
my $tool = ''; |
|
my $role = ''; |
my %content=(); |
my %content=(); |
while ($token=$parser->get_token) { |
while ($token=$parser->get_token) { |
if ($token->[0] eq 'S') { |
if ($token->[0] eq 'S') { |
my $entry=$token->[1]; |
my $entry=$token->[1]; |
if ($entry eq 'functions') { |
if ($entry eq 'functions' || $entry eq 'autosec') { |
%{$content{$entry}} = (); |
%{$content{$entry}} = (); |
$tool = $entry; |
$tool = $entry; |
|
} elsif ($entry eq 'role') { |
|
if ($tool eq 'autosec') { |
|
$role = $token->[2]{id}; |
|
} |
} else { |
} else { |
my $value=$parser->get_text('/'.$entry); |
my $value=$parser->get_text('/'.$entry); |
if ($entry eq 'name') { |
if ($entry eq 'name') { |
Line 3197 sub get_group_settings {
|
Line 3202 sub get_group_settings {
|
} |
} |
} elsif ($entry eq 'groupname') { |
} elsif ($entry eq 'groupname') { |
$content{$entry}=&Apache::lonnet::unescape($value); |
$content{$entry}=&Apache::lonnet::unescape($value); |
|
} elsif (($entry eq 'roles') || ($entry eq 'types') || |
|
($entry eq 'sectionpick') || ($entry eq 'defpriv')) { |
|
push(@{$content{$entry}},$value); |
|
} elsif ($entry eq 'section') { |
|
if ($tool eq 'autosec' && $role ne '') { |
|
push(@{$content{$tool}{$role}},$value); |
|
} |
} else { |
} else { |
$content{$entry}=$value; |
$content{$entry}=$value; |
} |
} |
} |
} |
} elsif ($token->[0] eq 'E') { |
} elsif ($token->[0] eq 'E') { |
if ($token->[1] eq 'functions') { |
if ($token->[1] eq 'functions' || $token->[1] eq 'autosec') { |
$tool = ''; |
$tool = ''; |
|
} elsif ($token->[1] eq 'role') { |
|
$role = ''; |
} |
} |
|
|
} |
} |
} |
} |
return %content; |
return %content; |