Diff for /rat/lonambiguous.pm between versions 1.4 and 1.10

version 1.4, 2001/11/29 19:23:48 version 1.10, 2003/09/22 03:02:06
Line 37  use strict; Line 37  use strict;
 use Apache::lonnet;  use Apache::lonnet;
 use Apache::Constants qw(:common REDIRECT);  use Apache::Constants qw(:common REDIRECT);
 use GDBM_File;  use GDBM_File;
   use Apache::loncommon;
   use Apache::lonlocal;
   
   my %bighash;
   
   sub cleanup {
       if (tied(%bighash)){
    &Apache::lonnet::logthis('Cleanup ambiguous: bighash');
           unless (untie(%bighash)) {
       &Apache::lonnet::logthis('Failed cleanup ambiguous: bighash');
           }
       }
   }
   
 # ----------------------------------------------------------- Could not resolve  # ----------------------------------------------------------- Could not resolve
   
 sub getlost {  sub getlost {
     my ($r,$errmsg)=@_;      my ($r,$errmsg)=@_;
       $errmsg=&mt($errmsg);
     $r->content_type('text/html');      $r->content_type('text/html');
     $r->send_http_header;      $r->send_http_header;
     $r->print(      $r->print(
  '<head><title>Unknown Error</title></head><body bgcolor="#FFFFFF"><h1>'.   '<head><title>Unknown Error</title></head>'.
  'LON-CAPA</h1>Could not handle ambiguous resource reference.<p>'.$errmsg.    &Apache::loncommon::bodytag('Could not handle ambiguous resource reference').
     $errmsg.
  '</body></html>');   '</body></html>');
 }  }
   
Line 57  sub handler { Line 71  sub handler {
    my $r=shift;     my $r=shift;
   
    if ($r->header_only) {     if ($r->header_only) {
       $r->content_type('text/html');        &Apache::loncommon::content_type($r,'text/html');
       $r->send_http_header;        $r->send_http_header;
       return OK;        return OK;
    }     }
   
 # ---------------------------------------------------------- Is this selecting?  # ---------------------------------------------------------- Is this selecting?
       
    my %bighash;  
   
    if ($ENV{'form.selecturl'}) {     if ($ENV{'form.selecturl'}) {
        my $envkey;         my $envkey;
        if (tie(%bighash,'GDBM_File',$ENV{'request.course.fn'}.'.db',         if (tie(%bighash,'GDBM_File',$ENV{'request.course.fn'}.'.db',
                     &GDBM_READER,0640)) {                      &GDBM_READER(),0640)) {
           foreach $envkey (keys %ENV) {            foreach $envkey (keys %ENV) {
              if ($envkey=~/^form\.(\d+)\.(\d+)$/) {               if ($envkey=~/^form\.(\d+)\.(\d+)$/) {
 # ---------------------------------------------------- Update symb and redirect  # ---------------------------------------------------- Update symb and redirect
Line 106  sub handler { Line 118  sub handler {
     my $syval='';      my $syval='';
           
     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)) {
        $syval=$hash{$thisfn};         $syval=$hash{$thisfn};
        untie(%hash);         untie(%hash);
     }      }
Line 132  sub handler { Line 144  sub handler {
 # ------------------------------------------------ Would be standalone resource  # ------------------------------------------------ Would be standalone resource
   
    if (tie(%bighash,'GDBM_File',$ENV{'request.course.fn'}.'.db',     if (tie(%bighash,'GDBM_File',$ENV{'request.course.fn'}.'.db',
                     &GDBM_READER,0640)) {                      &GDBM_READER(),0640)) {
 # ---------------------------------------------- Get ID(s) for current resource  # ---------------------------------------------- Get ID(s) for current resource
       my $ids=$bighash{'ids_/res/'.$thisfn};        my $ids=$bighash{'ids_'.&Apache::lonnet::clutter($thisfn)};
       if ($ids) {        if ($ids) {
 # ------------------------------------------------------------------- Has ID(s)  # ------------------------------------------------------------------- Has ID(s)
          my @possibilities=split(/\,/,$ids);           my @possibilities=split(/\,/,$ids);
Line 154  sub handler { Line 166  sub handler {
 # ----------------------------------------------- Okay, really multiple choices  # ----------------------------------------------- Okay, really multiple choices
                $r->content_type('text/html');                 $r->content_type('text/html');
                $r->send_http_header;                 $r->send_http_header;
                  my $bodytag=
                         &Apache::loncommon::bodytag('Pick Instance of Resource');
                $r->print(<<ENDSTART);                 $r->print(<<ENDSTART);
 <head><title>Choose Location</title></head>  <head><title>Choose Location</title></head>
 <body bgcolor="#FFFFFF">  $bodytag
 <h1>LON-CAPA</h1>  
 The resource you had been accessing appears more than once in this course,  The resource you had been accessing appears more than once in this course,
 and LON-CAPA has insufficient session information to determine which instance  and LON-CAPA has insufficient session information to determine which instance
 of the resource you meant.  of the resource you meant.
Line 175  ENDSTART Line 188  ENDSTART
                    $r->print('<tr><td><input type=submit value=Select name="'.                     $r->print('<tr><td><input type=submit value=Select name="'.
                               $_.'"></td><td>'.$bighash{'title_'.$_}.                                $_.'"></td><td>'.$bighash{'title_'.$_}.
                               '</td><td>'.$bighash{'type_'.$_}.                                '</td><td>'.$bighash{'type_'.$_}.
                               '</td><td><a href="'.$mapurl.'">'.$mapurl.                                '</td><td>'.
       '</a></td></tr>');                                ($mapurl=~/^\/uploaded\//?'':'<a href="'.$mapurl.'">').
                                 &Apache::lonnet::gettitle($mapurl).'&nbsp;'.
         ($mapurl=~/^\/uploaded\//?'':'</a>').'</td></tr>');
                } @possibilities;                 } @possibilities;
                $r->print('</table></form></body></html>');                 $r->print('</table></form></body></html>');
        untie(%bighash);         untie(%bighash);

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


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