Diff for /rat/lonambiguous.pm between versions 1.2 and 1.7

version 1.2, 2000/10/12 14:54:08 version 1.7, 2002/11/06 22:51:51
Line 1 Line 1
 # The LearningOnline Network with CAPA  # The LearningOnline Network with CAPA
 # Handler to resolve ambiguous file locations  # Handler to resolve ambiguous file locations
 #  #
   # $Id$
   #
   # Copyright Michigan State University Board of Trustees
   #
   # This file is part of the LearningOnline Network with CAPA (LON-CAPA).
   #
   # LON-CAPA is free software; you can redistribute it and/or modify
   # it under the terms of the GNU General Public License as published by
   # the Free Software Foundation; either version 2 of the License, or
   # (at your option) any later version.
   #
   # LON-CAPA is distributed in the hope that it will be useful,
   # but WITHOUT ANY WARRANTY; without even the implied warranty of
   # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   # GNU General Public License for more details.
   #
   # You should have received a copy of the GNU General Public License
   # along with LON-CAPA; if not, write to the Free Software
   # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
   #
   # /home/httpd/html/adm/gpl.txt
   #
   # http://www.lon-capa.org/
   #
 # (TeX Content Handler  # (TeX Content Handler
 #  #
 # 05/29/00,05/30,10/11 Gerd Kortemeyer)  # 05/29/00,05/30,10/11 Gerd Kortemeyer)
 #  #
 # 10/11,10/12 Gerd Kortemeyer  # 10/11,10/12,10/16 Gerd Kortemeyer
   
 package Apache::lonambiguous;  package Apache::lonambiguous;
   
Line 45  sub handler { Line 69  sub handler {
    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
          my $mapid=$1;           my $mapid=$1;
                  my $resid=$2;                   my $resid=$2;
                  my $resurl=$bighash{'src_'.$mapid.'.'.$resid};                   my $resurl=$bighash{'src_'.$mapid.'.'.$resid};
                  &Apache::lonnet::symblist($bighash{'map_id_'.$mapid},                   &Apache::lonnet::symblist($bighash{'map_id_'.$mapid},
            $resurl => $resid);             $resurl => $resid);
                    untie(%bighash);
                  $r->header_out(Location =>                    $r->header_out(Location => 
                                 'http://'.$ENV{'HTTP_HOST'}.$resurl);                                  'http://'.$ENV{'HTTP_HOST'}.$resurl);
                  return REDIRECT;                   return REDIRECT;
              }               }
   }    }
           untie(%bighash);            untie(%bighash);
 # ---------------------------------------------------- Update symb and redirect  
        } else {         } else {
           &getlost($r,'Could not access course structure.');            &getlost($r,'Could not access course structure.');
           return OK;            return OK;
Line 81  sub handler { Line 106  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 107  sub handler { Line 132  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);

Removed from v.1.2  
changed lines
  Added in v.1.7


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