--- rat/lonratsrv.pm 2000/07/01 17:55:31 1.1 +++ rat/lonratsrv.pm 2011/10/25 19:23:20 1.42 @@ -1,39 +1,90 @@ # The LearningOnline Network with CAPA # Server for RAT Maps # -# (Edit Handler for RAT Maps -# (TeX Content Handler +# $Id: lonratsrv.pm,v 1.42 2011/10/25 19:23:20 www Exp $ # -# 05/29/00,05/30 Gerd Kortemeyer) -# 7/1 Gerd Kortemeyer) -# 7/1 Gerd Kortemeyer +# 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/ +# + package Apache::lonratsrv; use strict; use Apache::Constants qw(:common); +use LONCAPA(); +use LONCAPA::map(); + # ================================================================ Main Handler sub handler { my $r=shift; - $r->content_type('text/html'); + &Apache::loncommon::content_type($r,'text/html'); $r->send_http_header; return OK if $r->header_only; my $url=$r->uri; + $url=~m{/(\w+)/ratserver$}; + my $mode=$1; + + $url=~s{/loadonly/ratserver$}{/save/ratserver}; + + my $fn=$r->filename; + my $errtext=''; + my $infotext=''; + my $outtext=''; + + if ($mode ne 'loadonly') { + ($errtext,$infotext)=&LONCAPA::map::savemap($fn,$errtext); + } + ($outtext,$errtext,$infotext)=&LONCAPA::map::loadmap($fn,$errtext,$infotext); + + my $start_page = + &Apache::loncommon::start_page('Alert',undef, + {'only_body' => 1, + 'bgcolor' => '#FFFFFF',}); + my $end_page = + &Apache::loncommon::end_page(); $r->print(< - -
- +$start_page + +
- - - + ENDDOCUMENT + if (($errtext ne '') || ($infotext ne '')) { + $r->print(< + alert("$infotext $errtext"); + +ENDSCRIPT + } + $r->print($end_page); + return OK; } @@ -41,8 +92,20 @@ ENDDOCUMENT __END__ +=head1 NAME +Apache::lonratsrv +=head1 SYNOPSIS +Handler that takes output from RAT and stores +it on disk. Handles the upper hidden frame of +the added window that comes up in RAT. (3 +frames come up in RAT server, code, and +output. This module handles server +connection.) +This is part of the LearningOnline Network with CAPA project +described at http://www.lon-capa.org. +=cut