Diff for /rat/lonsequence.pm between versions 1.8 and 1.9

version 1.8, 2002/05/23 10:19:30 version 1.9, 2002/05/23 10:58:05
Line 73  sub attemptread { Line 73  sub attemptread {
 # ---------------------------------------------------------------- View Handler  # ---------------------------------------------------------------- View Handler
   
 sub viewmap {  sub viewmap {
     my ($r,$url,$adv,$errtext)=@_;      my ($r,$url)=@_;
     $r->print('<html>');      $r->print('<html>');
     if ($ENV{'form.forceselect'}) { $r->print(<<ENDSCRIPT);      if ($ENV{'form.forceselect'}) { $r->print(<<ENDSCRIPT);
 <script>  <script>
Line 95  function queue(val) { Line 95  function queue(val) {
     }      }
 }  }
   
   
   
 </script>  </script>
 ENDSCRIPT  ENDSCRIPT
     }      }
     $r->print('<body bgcolor="#FFFFFF">'.&buttons($adv));      $r->print('<body bgcolor="#FFFFFF">');
     if ($ENV{'form.forceselect'}) { $r->print(<<ENDSELECT);      if ($ENV{'form.forceselect'}) { $r->print(<<ENDSELECT);
 <form name=fileattr><input type=hidden name=acts value=''>  <form name=fileattr><input type=hidden name=acts value=''>
 <input type="button" name="close" value='CLOSE' onClick="self.close()">  <input type="button" name="close" value='CLOSE' onClick="self.close()">
Line 109  onClick="javascript:select_group()"> Line 107  onClick="javascript:select_group()">
 </form>     </form>   
 ENDSELECT  ENDSELECT
     }      }
     if ($errtext) {  
  $r->print($errtext.'<hr>');  
     }  
     my $idx=0;      my $idx=0;
     foreach (&attemptread(&Apache::lonnet::filelocation('',$url))) {      foreach (&attemptread(&Apache::lonnet::filelocation('',$url))) {
  if (defined($_)) {   if (defined($_)) {
Line 165  sub handler { Line 160  sub handler {
    my $requrl=$r->uri;     my $requrl=$r->uri;
   
 # ------------------------------------------------------------ Tie symb db file  # ------------------------------------------------------------ Tie symb db file
   if ($ENV{'request.course.fn'}) {    my $disurl='';
     my $dismapid='';
   
     if (($ENV{'request.course.fn'}) && (!$ENV{'form.forceselect'})) {
        my $last;         my $last;
        if (tie(%hash,'GDBM_File',$ENV{'request.course.fn'}.'_symb.db',         if (tie(%hash,'GDBM_File',$ENV{'request.course.fn'}.'_symb.db',
                     &GDBM_READER,0640)) {                      &GDBM_READER,0640)) {
Line 189  sub handler { Line 187  sub handler {
                $disid=$bighash{'map_start_'.$requrl};                 $disid=$bighash{'map_start_'.$requrl};
                $whatend='Beginning';                 $whatend='Beginning';
            }              } 
            my $disurl='';  
            my $dismapid='';  
            if ($disid) {             if ($disid) {
        $disurl=$bighash{'src_'.$disid};         $disurl=$bighash{'src_'.$disid};
                $dismapid=(split(/\./,$disid))[1];                 $dismapid=(split(/\./,$disid))[1];
Line 207  sub handler { Line 203  sub handler {
            }             }
 # --------------------------------------- Untie hash, make sure to come by here  # --------------------------------------- Untie hash, make sure to come by here
            untie(%bighash);             untie(%bighash);
            if ($disurl) {         }
      }
   
   # now either disurl is set (going to first page), or we need another display
   
      if ($disurl) {
 # -------------------------------------------------- Has first or last resource  # -------------------------------------------------- Has first or last resource
                &Apache::lonnet::symblist($requrl,$disurl => $dismapid,        &Apache::lonnet::symblist($requrl,$disurl => $dismapid,
                    'last_known' => &Apache::lonnet::declutter($disurl));                      'last_known' => &Apache::lonnet::declutter($disurl)); 
        $r->content_type('text/html');        $r->content_type('text/html');
                $r->header_out(Location => 'http://'.$ENV{'HTTP_HOST'}.$disurl);        $r->header_out(Location => 'http://'.$ENV{'HTTP_HOST'}.$disurl);
                return REDIRECT;        return REDIRECT;
            } else {  
 # ---------- Does not have first or last resource, try to find out where we are  
                unless ($symb) {  
    $r->internal_redirect('/adm/ambiguous');  
                }  
                $r->content_type('text/html');  
                $r->send_http_header;  
                $r->print(<<ENDSYMB);  
 <html><body bgcolor="#FFFFFF">  
 <h2>$whatend of</h2>  
 <h1>$sequencetitle</h1>  
 </body></html>  
 ENDSYMB  
                return OK  
            }  
        } else {  
           &getlost($r,'Could not access course structure.');  
           return OK;  
        }  
    } else {     } else {
       $ENV{'user.error.msg'}="$requrl:bre:0:0:Course not initialized";         $r->content_type('text/html');
       return HTTP_NOT_ACCEPTABLE;          $r->send_http_header;
          &viewmap($r,$requrl);
          return OK;
    }     }
   
    return OK;  
 }  }
   
 1;  1;

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


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