Diff for /loncom/interface/loncommon.pm between versions 1.302 and 1.303

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;

Removed from v.1.302  
changed lines
  Added in v.1.303


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>