version 1.2, 2000/11/28 21:16:39
|
version 1.35, 2008/11/19 19:15:02
|
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 Gerd Kortemeyer |
# http://www.lon-capa.org/ |
|
# |
|
# |
|
|
|
|
|
=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 24 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); |
|
|
|
# |
|
# Are we forcing edit mode? |
|
# |
|
|
|
&Apache::loncommon::get_unprocessed_cgi |
|
($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'; |
|
} |
|
|
|
# |
|
# Checking to see if we should display the topframe |
|
# |
|
my $toprows = 0; |
|
my $topsrc = ''; |
|
if ($env{'environment.remote'} ne 'off') { |
|
$toprows = '110'; |
|
$topsrc = '/adm/localize/adm/publisher.html'; |
|
} |
|
|
|
my $js=qq| |
|
<script type="text/javascript"> |
|
var lastknownpriv="$lowerframe"; |
|
</script> |
|
|; |
|
|
|
my $start_page= |
|
&Apache::loncommon::start_page('Construction Space',$js, |
|
{'frameset' => 1, |
|
'add_entries' => { |
|
'rows' => "$toprows,*", |
|
'border' => "0",}}); |
|
my $end_page= |
|
&Apache::loncommon::end_page({'frameset' => 1}); |
|
|
$r->print(<<ENDPAGE); |
$r->print(<<ENDPAGE); |
<html> |
$start_page |
<head><title>LON-CAPA Construction Space</title></head> |
<frame src='$topsrc' /> |
<frameset rows="50,*"> |
<frame src="$lowerframe" name="LONCAPAToBePublished" /> |
<frame src='/adm/publisher.html'> |
$end_page |
<frame src='$lowerframe' name="LONCAPAToBePublished"> |
|
</frameset> |
|
</html> |
|
ENDPAGE |
ENDPAGE |
return OK; |
return OK; |
} |
} |
1; |
1; |
__END__ |
__END__ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|