Diff for /loncom/interface/Attic/londropadd.pm between versions 1.177 and 1.179

version 1.177, 2008/12/05 19:19:28 version 1.179, 2012/04/24 21:05:15
Line 74  ENDHEAD Line 74  ENDHEAD
   
 =pod  =pod
   
 =item modifystudent()  
   
     Drop student from all sections of a course, except optional $csec  
   
 =cut  
   
 sub modifystudent {  
     my ($udom,$unam,$courseid,$csec,$desiredhost)=@_;  
     # if $csec is undefined, drop the student from all the courses matching  
     # this one.  If $csec is defined, drop them from all other sections of   
     # this course and add them to section $csec  
     my $cdom = $env{'course.'.$courseid.'.domain'};  
     my $cnum = $env{'course.'.$courseid.'.num'};  
     my %roles = &Apache::lonnet::dump('roles',$udom,$unam);  
     my ($tmp) = keys(%roles);  
     # Bail out if we were unable to get the students roles  
     return "$1" if ($tmp =~ /^(con_lost|error|no_such_host)/i);  
     # Go through the roles looking for enrollment in this course  
     my $result = '';  
     foreach my $course (keys(%roles)) {  
         if ($course=~m{^/\Q$cdom\E/\Q$cnum\E(?:\/)*(?:\s+)*(\w+)*\_st$}) {  
             # We are in this course  
             my $section=$1;  
             $section='' if ($course eq "/$cdom/$cnum".'_st');  
             if (defined($csec) && $section eq $csec) {  
                 $result .= 'ok:';  
             } elsif ( ((!$section) && (!$csec)) || ($section ne $csec) ) {  
                 my (undef,$end,$start)=split(/\_/,$roles{$course});  
                 my $now=time;  
                 # if this is an active role  
                 if (!($start && ($now<$start)) || !($end && ($now>$end))) {  
                     my $reply=&Apache::lonnet::modifystudent  
                         # dom  name  id mode pass     f     m     l     g  
                         ($udom,$unam,'',  '',  '',undef,undef,undef,undef,  
                          $section,time,undef,undef,$desiredhost);  
                     $result .= $reply.':';  
                 }  
             }  
         }  
     }  
     if ($result eq '') {  
         $result = 'Unable to find section for this student';  
     } else {  
         $result =~ s/(ok:)+/ok/g;  
     }  
     return $result;  
 }  
   
 =pod  
   
 =item domain_form()  =item domain_form()
           
     build a domain and server selection form      build a domain and server selection form
Line 2625  sub upfile_drop_add { Line 2575  sub upfile_drop_add {
                 }                  }
             }              }
         } # end of foreach (@studentdata)          } # end of foreach (@studentdata)
         $r->print("</p>\n<p>\n".&mt('Processed [_1] student(s).',$count).          $r->print("</p>\n<p>\n".&mt('Processed [quant,_1,student].',$count).
                   "</p>\n");                    "</p>\n");
         $r->print("<p>\n".          $r->print("<p>\n".
                   &mt('If active, the new role will be available when the '.                    &mt('If active, the new role will be available when the '.
Line 2676  sub drop_student_list { Line 2626  sub drop_student_list {
                       '<br />');                        '<br />');
         }          }
     }      }
     $r->print('<p><b>'.&mt('Dropped [_1] student(s).',$count).'</b></p>');      $r->print('<p><b>'.&mt('Dropped [quant,_1,student].',$count).'</b></p>');
     $r->print('<p>'.&mt('Re-enrollment will re-activate data.')) if ($count);      $r->print('<p>'.&mt('Re-enrollment will re-activate data.')) if ($count);
 }  }
   

Removed from v.1.177  
changed lines
  Added in v.1.179


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