Diff for /loncom/interface/selfenroll.pm between versions 1.9 and 1.10

version 1.9, 2008/07/11 13:43:53 version 1.10, 2008/07/14 08:32:36
Line 33  use Apache::Constants qw(:common); Line 33  use Apache::Constants qw(:common);
 use Apache::lonnet;  use Apache::lonnet;
 use Apache::loncommon;  use Apache::loncommon;
 use Apache::lonlocal;  use Apache::lonlocal;
   use Apache::createaccount;
 use LONCAPA qw(:DEFAULT :match);  use LONCAPA qw(:DEFAULT :match);
   
 sub handler {  sub handler {
Line 44  sub handler { Line 45  sub handler {
     }      }
     my $handle = &Apache::lonnet::check_for_valid_session($r);      my $handle = &Apache::lonnet::check_for_valid_session($r);
     my $lonidsdir=$r->dir_config('lonIDsDir');      my $lonidsdir=$r->dir_config('lonIDsDir');
       my $lonhost = $r->dir_config('lonHostID');
     if ($handle ne '') {      if ($handle ne '') {
         &Apache::lonnet::transfer_profile_to_env($lonidsdir,$handle);          &Apache::lonnet::transfer_profile_to_env($lonidsdir,$handle);
     }      }
Line 51  sub handler { Line 53  sub handler {
     &Apache::lonlocal::get_language_handle($r);      &Apache::lonlocal::get_language_handle($r);
     &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},['cid']);      &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},['cid']);
     my ($coursechk,$cid) = &validate_course_id($env{'form.cid'});      my ($coursechk,$cid) = &validate_course_id($env{'form.cid'});
     my $start_page =  
         &Apache::loncommon::start_page('Self-enroll in a LON-CAPA course','',  
                                        {'no_inline_link'   => 1,});  
     $r->print($start_page);  
     &Apache::lonhtmlcommon::clear_breadcrumbs();  
     &Apache::lonhtmlcommon::add_breadcrumb  
     ({href=>"/adm/selfenroll?cid=$cid",  
       text=>"Self-enroll"});  
     $r->print(&Apache::lonhtmlcommon::breadcrumbs('Self-enroll in course'));  
     if ($coursechk ne 'ok') {      if ($coursechk ne 'ok') {
           &page_header($r,$cid);
         $r->print('<h3>'.&mt('Self-enrollment error').'</h3>'.          $r->print('<h3>'.&mt('Self-enrollment error').'</h3>'.
                   '<span class="LC_error">'.&mt('Invalid domain or course number').'</span>');                    '<span class="LC_error">'.
                     &mt('Invalid domain or course number').'</span>');
         $r->print(&Apache::loncommon::end_page());          $r->print(&Apache::loncommon::end_page());
         return OK;          return OK;
     }      }
     my ($cdom,$cnum,$canenroll,$selfenroll_types,$selfenroll_registered,      my $now = time;
       my $js;
       if ($env{'form.phase'} eq 'login') {
           $js = &Apache::createaccount::javascript_setforms($now);
       }
       &page_header($r,$cid,$js);
       my $include = $r->dir_config('lonIncludes');
       if ($env{'form.phase'} eq 'login') {
           my $jsh=Apache::File->new($include."/londes.js");
           $r->print(<$jsh>);
       }
       my ($cdom,$cnum,$desc,$canenroll,$selfenroll_types,$selfenroll_registered,
         @cancreate,$knownuser,$selfenroll_access_start,$selfenroll_access_end,          @cancreate,$knownuser,$selfenroll_access_start,$selfenroll_access_end,
         $selfenroll_section,$selfenroll_future,%curr_role,%coursehash,$cdomdesc);          $selfenroll_section,$selfenroll_future,%curr_role,%coursehash,$cdomdesc);
     my $now = time;  
     %coursehash = &Apache::lonnet::coursedescription($cid);      %coursehash = &Apache::lonnet::coursedescription($cid);
     $cdom = $coursehash{'domain'};      $cdom = $coursehash{'domain'};
     $cnum = $coursehash{'num'};      $cnum = $coursehash{'num'};
       $desc = $coursehash{'description'};
     $selfenroll_types = $coursehash{'internal.selfenroll_types'};      $selfenroll_types = $coursehash{'internal.selfenroll_types'};
     $selfenroll_registered =  $coursehash{'internal.selfenroll_registered'};      $selfenroll_registered =  $coursehash{'internal.selfenroll_registered'};
     $selfenroll_section = $coursehash{'internal.selfenroll_section'};      $selfenroll_section = $coursehash{'internal.selfenroll_section'};
Line 184  sub handler { Line 190  sub handler {
         &process_self_enroll($r,$cdom,$cnum,$selfenroll_types,$selfenroll_registered,          &process_self_enroll($r,$cdom,$cnum,$selfenroll_types,$selfenroll_registered,
                              $selfenroll_access_start,$selfenroll_access_end,                               $selfenroll_access_start,$selfenroll_access_end,
                              $selfenroll_section,$now);                               $selfenroll_section,$now);
       } elsif ($env{'form.phase'} eq 'login') {
           my $submit_text = &mt('Log in');
           $r->print('<h3>'.&mt('Log-in to LON-CAPA').'</h3>');
           my $udom = &Apache::lonnet::default_login_domain();
           $r->print(&Apache::createaccount::login_box($now,$lonhost,$cid,
                                              $submit_text,$udom,'selfenroll'));
           $r->print(&mt('You will be able to self-enroll in the course you selected ([_1]) after you have successfully logged in.','<b>'.$desc.'</b>').
                     &Apache::loncommon::end_page());
           return OK;
     } elsif (@cancreate > 0) {      } elsif (@cancreate > 0) {
         $r->print(<<END);          $r->print(<<END);
 <script type="text/javascript">  <script type="text/javascript">
 function setPath(formaction,item,arg) {  function setPath(formaction,item,arg) {
     document.forms.logmein.action = formaction;      if (formaction != '') {
           document.forms.logmein.action = formaction;
       }
     var itemid = getIndexByName("setting");      var itemid = getIndexByName("setting");
     if (itemid > -1) {      if (itemid > -1) {
         document.logmein.elements[itemid].name = item;          document.logmein.elements[itemid].name = item;
Line 211  function getIndexByName(item) { Line 228  function getIndexByName(item) {
 </script>  </script>
 END  END
         $r->print('<h3>'.&mt('LON-CAPA account required').'</h3>'.          $r->print('<h3>'.&mt('LON-CAPA account required').'</h3>'.
                   &mt('You need to be logged into LON-CAPA to self-enroll in a course.').'<ul><li>'.&mt('If you have an account in LON-CAPA, [_1]log-in[_2].','<a href="javascript:setPath('."'$login_path','firsturl','$firsturl'".')">','</a>').'</li>');                    &mt('You need to be logged into LON-CAPA to self-enroll in a course.').'<ul><li>'.&mt('If you have an account in LON-CAPA, [_1]log-in[_2].','<a href="javascript:setPath('."'','phase','login'".')">','</a>').'</li>');
         if (@cancreate > 1) {          if (@cancreate > 1) {
             $r->print('<li>'.&mt('Otherwise:').'<br />');              $r->print('<li>'.&mt('Otherwise:').'<br />');
             my $count = 0;              my $count = 0;
Line 261  END Line 278  END
         $r->print(&mt('Submit a request to the LON-CAPA [_1]helpdesk[_2] for [_3] if you require assistance.','<a href="/adm/helpdesk?origurl='.$displayurl.'">','</a>',$cdomdesc));          $r->print(&mt('Submit a request to the LON-CAPA [_1]helpdesk[_2] for [_3] if you require assistance.','<a href="/adm/helpdesk?origurl='.$displayurl.'">','</a>',$cdomdesc));
     }      }
     $r->print('<form name ="logmein" method="post" action="">'."\n".      $r->print('<form name ="logmein" method="post" action="">'."\n".
                 '<input type="hidden" name=cid" value="'.$cid.'" />'."\n".
               '<input type="hidden" name="setting" value=""/>'."\n".                '<input type="hidden" name="setting" value=""/>'."\n".
               '</form>'."\n".                '</form>'."\n".
               &Apache::loncommon::end_page());                &Apache::loncommon::end_page());
     return OK;      return OK;
 }  }
   
   sub page_header {
       my ($r,$cid,$js) = @_;
       my $start_page =
           &Apache::loncommon::start_page('Self-enroll in a LON-CAPA course',$js,
                                          {'no_inline_link'   => 1,});
       $r->print($start_page);
       &Apache::lonhtmlcommon::clear_breadcrumbs();
       &Apache::lonhtmlcommon::add_breadcrumb
                          ({href=>"/adm/selfenroll?cid=$cid",
                            text=>"Self-enroll"});
       $r->print(&Apache::lonhtmlcommon::breadcrumbs('Self-enroll in course'));
       return;
   }
   
 sub validate_course_id {  sub validate_course_id {
     my ($cid) = @_;      my ($cid) = @_;
     my ($cdom,$cnum) = ($env{'form.cid'} =~ /^($match_domain)_($match_courseid)$/);      my ($cdom,$cnum) = ($env{'form.cid'} =~ /^($match_domain)_($match_courseid)$/);

Removed from v.1.9  
changed lines
  Added in v.1.10


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