Diff for /loncom/publisher/Attic/lonconstruct.pm between versions 1.4 and 1.37

version 1.4, 2001/06/23 18:26:40 version 1.37, 2010/04/12 15:05:51
Line 1 Line 1
 # The LearningOnline Network with CAPA  # The LearningOnline Network with CAPA
 #  
 # Construction Space Page Wrapper for Construction  # Construction Space Page Wrapper for Construction
 #  #
 # (Page Handler  # $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.
 #  #
 # (TeX Content Handler  # 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
 #  #
 # 05/29/00,05/30 Gerd Kortemeyer)  # /home/httpd/html/adm/gpl.txt
 # 08/30,08/31,09/06,09/14,09/15,09/16,09/19,09/20,09/21,09/23,  
 # 10/02,10/10,10/14,10/16,10/18,10/19,10/31,11/6,11/14,11/16 Gerd Kortemeyer)  
 #  #
 # 11/22,11/23,11/28,  # http://www.lon-capa.org/
 # 03/30/01 Gerd Kortemeyer  #
   #
   
   
   =pod
   
   =head1
   
   =head1 NAME
   
   Apache::lonconstruct
   
   =head1 SYNOPSIS
   
   Page wrapper for handling construction space.
   
   This is part of the LearningOnline Network with CAPA project
   described at http://www.lon-capa.org.
   
   
   =item Debug($request, $message)
   
     If debugging is enabled puts out a debuggin message determined by the
     caller.  The debug message goes to the Apache error log file. Debugging
     is enabled by ssetting the module global DEBUG variable to nonzero (TRUE).
   
    Parameters:
   
   =over 4
    
   =item $request - The curretn request operation.
   
   =item $message - The message to put inthe log file.
   
   =back
     
    Returns:
      nothing.
   
   =cut
   
 package Apache::lonconstruct;  package Apache::lonconstruct;
   
   
 use strict;  use strict;
 use Apache::Constants qw(:common :http);  use Apache::Constants qw(:common :http :methods);
   use Apache::lonnet;
   use HTML::Entities();
   
   my $DEBUG = 0;
   
   
   sub Debug {
       # Put out the indicated message but only if DEBUG is true.
       if ($DEBUG) {
    my ($r,$message) = @_;
    $r->log_reason($message);
       }
   } 
   
 # ================================================================ Main Handler  # ================================================================ Main Handler
   
Line 25  sub handler { Line 91  sub handler {
   
 # -------------------------------------------------------------- Build frameset  # -------------------------------------------------------------- Build frameset
   
    $r->content_type('text/html');     &Apache::loncommon::content_type($r,'text/html');
    $r->send_http_header;     $r->send_http_header;
    return OK if $r->header_only;     return OK if $r->header_only;
   
    my $lowerframe=$r->path_info;     my $lowerframe=$r->path_info;
      &Debug($r, "Initial URL for lower frame: ".$lowerframe);
    $lowerframe=~s/^\//\/\~/;     $lowerframe=~s/^\//\/\~/;
      &Debug($r, "Lower frame URL afer ~ subst: ".$lowerframe);
      $lowerframe= &HTML::Entities::encode($lowerframe,'<>&"');
      &Debug($r, "Lower frame URL after quote subst: ".$lowerframe);
   
    $r->print(<<ENDPAGE);  #
 <html>  # Are we forcing edit mode?
 <head><title>LON-CAPA Construction Space</title></head>  #
 <frameset rows="140,*">  
 <frame src='/adm/publisher.html'>     &Apache::loncommon::get_unprocessed_cgi
 <frame src='$lowerframe' name="LONCAPAToBePublished">          ($ENV{'QUERY_STRING'},['forceedit']);
 </frameset>     if ($env{'form.forceedit'}) {
 </html>         $lowerframe.='?editmode=Edit&problemmode=editxml';
 ENDPAGE     }
      &Apache::loncommon::get_unprocessed_cgi
           ($ENV{'QUERY_STRING'},['forceColoredit']);
      if ($env{'form.forceColoredit'}) {
          $lowerframe.='?editmode=Edit&problemmode=edit';
      }
   
      # when the remote control existed we used to force the
      # pages of construction space into a frameset.
      # without remote control, we can elimnate this frameset
      # and redirect to the url of the content frame.
      # This keeps all URLs intact. 
      $r->internal_redirect($lowerframe);
    return OK;     return OK;
 }  }
 1;  1;
 __END__  __END__
   
   
   
   
   
   
   

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


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