Diff for /loncom/enrollment/Enrollment.pm between versions 1.27 and 1.28

version 1.27, 2006/01/12 01:30:44 version 1.28, 2006/02/07 05:08:21
Line 28  package LONCAPA::Enrollment; Line 28  package LONCAPA::Enrollment;
 use Apache::loncoursedata;  use Apache::loncoursedata;
 use Apache::lonnet;  use Apache::lonnet;
 use Apache::lonmsg;  use Apache::lonmsg;
   use Apache::lonlocal;
 use HTML::Entities;  use HTML::Entities;
 use LONCAPA::Configuration;  use LONCAPA::Configuration;
 use Time::Local;  use Time::Local;
Line 36  use lib '/home/httpd/lib/perl'; Line 37  use lib '/home/httpd/lib/perl';
 use strict;  use strict;
   
 sub update_LC {  sub update_LC {
     my ($dom,$crs,$adds,$drops,$startdate,$enddate,$authtype,$autharg,$classesref,$groupref,$logmsg,$newusermsg,$context) = @_;       my ($dom,$crs,$adds,$drops,$startdate,$enddate,$authtype,$autharg,$classesref,$groupref,$logmsg,$newusermsg,$context,$phototypes) = @_; 
 # Get institutional code and title of this class  # Get institutional code and title of this class
     my %courseinfo = ();      my %courseinfo = ();
     &get_courseinfo($dom,$crs,\%courseinfo);      &get_courseinfo($dom,$crs,\%courseinfo);
Line 75  sub update_LC { Line 76  sub update_LC {
     my $addresult = '';      my $addresult = '';
     my $dropresult = '';      my $dropresult = '';
     my $switchresult = '';      my $switchresult = '';
       my $photoresult = '';
     if ($context eq "updatenow") {      if ($context eq "updatenow") {
         $linefeed = "</li>\n<li>";           $linefeed = "</li>\n<li>"; 
     } elsif ($context eq "automated") {      } elsif ($context eq "automated") {
Line 192  sub update_LC { Line 194  sub update_LC {
             @{$unameFromINid{$stuID}} = $uname;               @{$unameFromINid{$stuID}} = $uname; 
         }          }
     }      }
   
 # Explicitly allow access to creation/modification of students if called as an automated process.  # Explicitly allow access to creation/modification of students if called as an automated process.
     if ($context eq 'automated') {      if ($context eq 'automated') {
         $env{'allowed.cst'}='F';          $env{'allowed.cst'}='F';
Line 323  sub update_LC { Line 326  sub update_LC {
                     } else {                      } else {
                         &execute_add($context,'newstudent',$uname,$dom,$auth,$authparam,$first,$middle,$last,$gene,$pid,$usec,$end,$start,$emailenc,$cid,\$addresult,\$enrollcount,$linefeed,$logmsg);                          &execute_add($context,'newstudent',$uname,$dom,$auth,$authparam,$first,$middle,$last,$gene,$pid,$usec,$end,$start,$emailenc,$cid,\$addresult,\$enrollcount,$linefeed,$logmsg);
                     }                      }
                       if ($courseinfo{'showphotos'}) {
                           my ($result,$resulttype) = 
                              &Apache::lonnet::auto_checkphotos($uname,$dom,$pid);
                           if ($resulttype) {
                               push(@{$$phototypes{$resulttype}},$uname);
                           }
                       }
                 }                  }
             }              }
         }          }
     }      }
       if ($courseinfo{'showphotos'}) {
           if (keys(%{$phototypes})>0) {
               my %lt = &photo_response_types();
               foreach my $type (sort(keys(%{$phototypes}))) {
                   my $numphoto = @{$$phototypes{$type}};
                   if ($numphoto > 0) {
                       if ($context eq 'updatenow') {
                           $photoresult .=  '<br /><b>'.
                                      &mt('For [_1] students, photos ',$numphoto).
                                                        $lt{$type}.'</b><ul><li>';
                       } else {
                           $photoresult .=  "\nFor $numphoto students, photos ".
                                                                  $lt{$type}."\n";
                       }
                       foreach my $user (@{$$phototypes{$type}}) { 
                           $photoresult .= $user.$linefeed;
                       }
                       if ($context eq 'updatenow') {
                           $photoresult = substr($photoresult,0,
                                                     rindex($photoresult,"<li>"));
                           $photoresult .= '</ul><br />';
                       } else {
                           $photoresult .= "\n";
                       }
                   }
               }
           }
       }
   
 # Do drops  # Do drops
     if ( ($drops == 1) && (@reg_students > 0) ) {      if ( ($drops == 1) && (@reg_students > 0) ) {
         foreach my $uname (@localstudents) {          foreach my $uname (@localstudents) {
Line 365  sub update_LC { Line 404  sub update_LC {
         if ($context eq "updatenow") {          if ($context eq "updatenow") {
             $addresult = substr($addresult,0,rindex($addresult,"<li>"));              $addresult = substr($addresult,0,rindex($addresult,"<li>"));
             $addresult = "The following $enrollcount student(s) was/were added to this LON-CAPA course:<br/><ul><li>".$addresult."</ul><br/><br/>";              $addresult = "The following $enrollcount student(s) was/were added to this LON-CAPA course:<br/><ul><li>".$addresult."</ul><br/><br/>";
               if ($courseinfo{'showphotos'}) {
   
               }
         } else {          } else {
             $addresult = "The following $enrollcount student(s) was/were added to this LON-CAPA course:\n\n".$addresult."\n\n";              $addresult = "The following $enrollcount student(s) was/were added to this LON-CAPA course:\n\n".$addresult."\n\n";
         }          }
Line 402  sub update_LC { Line 444  sub update_LC {
         }          }
     }      }
     my $changecount = $enrollcount + $dropcount + $switchcount;      my $changecount = $enrollcount + $dropcount + $switchcount;
     return ($changecount,$addresult.$dropresult.$switchresult);      return ($changecount,$addresult.$photoresult.$dropresult.$switchresult);
 }  }
   
 sub create_newuser {  sub create_newuser {
Line 787  sub get_courseinfo { Line 829  sub get_courseinfo {
     my ($dom,$crs,$courseinfo) = @_;      my ($dom,$crs,$courseinfo) = @_;
     my $owner;      my $owner;
     if (defined($dom) && defined($crs)) {      if (defined($dom) && defined($crs)) {
         my %settings = &Apache::lonnet::get('environment',['internal.coursecode','description'],$dom,$crs);          my %settings = &Apache::lonnet::get('environment',['internal.coursecode','internal.showphotos','description'],$dom,$crs);
         if ( defined($settings{'internal.coursecode'}) ) {          if ( defined($settings{'internal.coursecode'}) ) {
             $$courseinfo{'inst_code'} = $settings{'internal.coursecode'};              $$courseinfo{'inst_code'} = $settings{'internal.coursecode'};
   
         }          }
         if ( defined($settings{'description'}) ) {          if ( defined($settings{'description'}) ) {
             $$courseinfo{'description'} = $settings{'description'};              $$courseinfo{'description'} = $settings{'description'};
         }          }
           if ( defined($settings{'internal.showphotos'}) ) {
               $$courseinfo{'showphotos'} = $settings{'internal.showphotos'};
           }
     }      }
     return;      return;
 }  }
Line 811  sub CL_middlename { return 8;} Line 855  sub CL_middlename { return 8;}
 sub CL_startdate { return 9; }  sub CL_startdate { return 9; }
 sub CL_studentID { return 10; }  sub CL_studentID { return 10; }
   
   sub photo_response_types {
       my %lt = &Apache::lonlocal::texthash (
                         'same' => 'remained unchanged',
                         'update' => 'were updated',
                         'new' => 'were added',
                         'missing' => 'were missing',
                         'error' => 'were not imported because an error occurred',
                         'nouser' => 'were for users without accounts',
                         'noid' => 'were for users without student IDs',
       );
       return %lt;
   }
   
   
 1;  1;

Removed from v.1.27  
changed lines
  Added in v.1.28


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