version 1.6, 2001/12/04 15:34:57
|
version 1.38, 2013/06/04 22:20:16
|
Line 1
|
Line 1
|
# The LearningOnline Network with CAPA |
# The LearningOnline Network with CAPA |
# Construction Space Page Wrapper for Construction |
# Authoring Space Page Wrapper |
# |
# |
# $Id$ |
# $Id$ |
# |
# |
Line 26
|
Line 26
|
# http://www.lon-capa.org/ |
# http://www.lon-capa.org/ |
# |
# |
# |
# |
# (Page Handler |
|
# |
|
# (TeX Content Handler |
=pod |
# |
|
# 05/29/00,05/30 Gerd Kortemeyer) |
=head1 |
# 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) |
=head1 NAME |
# |
|
# 11/22,11/23,11/28, |
Apache::lonconstruct |
# 03/30/01 Gerd Kortemeyer |
|
|
=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 49 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); |
$r->print(<<ENDPAGE); |
$lowerframe= &HTML::Entities::encode($lowerframe,'<>&"'); |
<html> |
&Debug($r, "Lower frame URL after quote subst: ".$lowerframe); |
<head><title>LON-CAPA Construction Space</title></head> |
|
<frameset rows="110,*"> |
# |
<frame src='/adm/publisher.html'> |
# Are we forcing edit mode? |
<frame src='$lowerframe' name="LONCAPAToBePublished"> |
# |
</frameset> |
|
</html> |
&Apache::loncommon::get_unprocessed_cgi |
ENDPAGE |
($ENV{'QUERY_STRING'},['forceedit']); |
|
if ($env{'form.forceedit'}) { |
|
$lowerframe.='?editmode=Edit&problemmode=editxml'; |
|
} |
|
&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; |