--- rat/lonsequence.pm 2000/10/17 10:36:17 1.3 +++ rat/lonsequence.pm 2001/11/29 19:23:49 1.5 @@ -2,6 +2,30 @@ # # Sequence Handler # +# $Id: lonsequence.pm,v 1.5 2001/11/29 19:23:49 www Exp $ +# +# 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/ +# # (Handler to resolve ambiguous file locations # # (TeX Content Handler @@ -64,24 +88,36 @@ sub handler { if (tie(%bighash,'GDBM_File',$ENV{'request.course.fn'}.'.db', &GDBM_READER,0640)) { my $disid=''; + my $whatend=''; if ($direction eq 'back') { $disid=$bighash{'map_finish_'.$requrl}; + $whatend='End'; } else { $disid=$bighash{'map_start_'.$requrl}; + $whatend='Beginning'; } my $disurl=''; + my $dismapid=''; if ($disid) { $disurl=$bighash{'src_'.$disid}; + $dismapid=(split(/\./,$disid))[1]; } my $symb=''; + my $sequencetitle=''; unless($disurl) { if ($symb=&Apache::lonnet::symbread()) { + my ($mapurl,$mapid)=split(/\_\_\_/,$symb); + $sequencetitle=$bighash{'title_'. + $bighash{'map_pc_/res/'.$mapurl}.'.'. + $mapid}; } } # --------------------------------------- Untie hash, make sure to come by here untie(%bighash); if ($disurl) { # -------------------------------------------------- Has first or last resource + &Apache::lonnet::symblist($requrl,$disurl => $dismapid, + 'last_known' => &Apache::lonnet::declutter($disurl)); $r->content_type('text/html'); $r->header_out(Location => 'http://'.$ENV{'HTTP_HOST'}.$disurl); return REDIRECT; @@ -93,7 +129,9 @@ sub handler { $r->content_type('text/html'); $r->send_http_header; $r->print(< + +

$whatend of

+

$sequencetitle

ENDSYMB return OK